练习题

#!/user/bin/env python
# -*- coding:utf-8 -*-
'''1、执行 Python 脚本的两种方式
一种是控制台方式执行
一种是在DOS命令窗口执行指定脚本
2.简述位、字节的关系
位是bit数据的最小单位,也叫做比特位就是0和1
1个字节是8个bit位 1byte=8bit
3、简述 ascii、unicode、utf-8、gbk 的关系
计算机起始英文编码由ascii一个字节组成由八个二进制位总共不超过256个
unicode 是全世界通用的一种编码方式,速度快,占空间大。2的16次方个65566,囊括了世界的所有语言。但最常用的是用两个字节表示一个字符
(如果要用到非常偏僻的字符,就需要4个字节)。现代操作系统和大多数编程语言都直接支持Unicode。ASCII编码和Unicode编码的区别:ASCII
英文字母编码是1个字节,而Unicode编码通常是2个字节。在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转
换为UTF-8编码。
utf-8根据是中文字符还是英文字符长短来决定字节长短,1个英文就是1个字节,是中文的话占3个字节,utf-8也被称为“可变长编码”。
GBK是针对汉字的编码系统由2个字节码组成
4、请写出 “李杰” 分别用 utf-8 和 gbk 编码所占的位数
李杰 用utf-8 占6个字节
李杰 用gbk 占4个字节
5、Pyhton 单行注释和多行注释分别用什么?
python单行注释为#
python多行注释'三个单引号引起来的
6.声明变量注意事项有那些?
1.不能以数字开头
2.不能和python关键字重名
3.只能以数字字母和_来命名
4.不能和内部函数重名
5.变量命名最好是有意义。
7、如有一下变量 n1=5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示?'''
# n1 = 5
# v1=n1.bit_length()
# print(v1)
# 8、布尔值分别有什么?
# 布尔值有两个值分别为真 True 和 假 False
# 9、阅读代码,请写出执行结果
# a = "alex"
# b = a.capitalize()
# print(a)
# print(b)
# 请写出输出结果:
# alex
# Alex
# 10、写代码,有如下变量,请按照要求实现每个功能
# name = " aleX"
# a. 移除 name 变量对应的值两边的空格,并输入移除后的内容
# b. 判断 name 变量对应的值是否以 "al" 开头,并输出结果
# c. 判断 name 变量对应的值是否以 "X" 结尾,并输出结果
# d. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
# e. 将 name 变量对应的值根据 “l” 分割,并输出结果。
# f. 请问,上一题 e 分割之后得到值是什么类型(可选)?
# g. 将 name 变量对应的值变大写,并输出结果
# h. 将 name 变量对应的值变小写,并输出结果
# i. 请输出 name 变量对应的值的第 2 个字符?
# j. 请输出 name 变量对应的值的前 3 个字符?
# k. 请输出 name 变量对应的值的后 2 个字符?
# l. 请输出 name 变量对应的值中 “e” 所在索引位置?
# m. 获取子序列,仅不包含最后一个字符。如: oldboy 则获取 oldbo; root 则获取 roo
# name=" alex"
# va=name.strip()
# print(va)
# vb=name.startswith("al")
# print(vb)
# vc=name.endswith("X")
# print(vc)
# vt=str.maketrans("l","p")
# vd=name.translate(vt)
# print(vd)
# ve=name.split("l")
# ve2=name.partition("l")
# print(ve)
# print(ve2)
# vf=name.split("e ")
# print(vf)
# vg=name.upper()
# print(vg)
# vh=name.lower()
# print(vh)
# name1="alexcvfs"
# print(name1[1])
# print(name1[0:3])
# vz=len(name1)
# print(name1[(vz-3):vz])
# vl=name1.find("e")
# print(vl)
# # print(name1[0:-1])
# 11、字符串是否可迭代对象?如可以请使用 for 循环每一个元素?
# 字符串可以迭代。
# 例:
# name="zhansanlisi"
# for v in name:
# print(v)
# 12、请用代码实现:
# a.利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"
# b.利用下划线将列表的每一个元素拼接成字符串,li ['alex', 'eric', 'rain'] (可选)
# li="alexxericrain"
# fg="_"
# v1=fg.join(li)
# print(v1)
# li=['alex', 'eric', 'rain']
# f="_"
# v2=f.join(li)
# print(v2)
# 13、Python2 中的 range 和 Python3 中的 range 的区别?
# range在python2中直接生成了数据序列,这样会占用很大的内存。特别是数据序列比较大的时候,
# range在python3中虽然也生出数列,但只有在取出某个数的时候才会生出,占用的内存比较小。
#14、实现一个整数加法计算器:
# 如:content=input('请输入内容:') # 如:5+9 或 5+ 9 或 5 + 9
# n1=input("请输入加法例如1+2,回车:")
# v=n1.split("+")
# n1=int(v[0])
# n2=int(v[1])
# n3=n1+n2
# print(n3)
# 15、计算用户输入的内容中有几个十进制小数?几个字母?
# 如:
# input('请输入内容:')#如duiaf878123jkjsfd-213928c
# ch1=input('请输入内容:')
# int1=0
# zm=0
# sz=0
# while int1<len(ch1):
# if ch1[int1].isalpha():
# zm += 1
# elif ch1[int1].isdecimal():
# sz += 1
# int1 +=1
# print("总共有字母:",zm,"个")
# print("数字:",sz,"个")
# 16、简述int和9等数字以及str和 "xxoo"等字符串的关系。
# int为数值型数据类型,3.0后的数据可以是无限大。
# str是字符串数据类型,每次给str赋予数据后,会在内存例划出一块空间给该数据,如果修改或者重新赋值时,会重新在划出一块空间给新数据,而不
# 会改变原来的数据。
# 17制作趣味模板程序需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx
# inp1=input("请输入您的姓名:")
# inp2=input("请输入你想要的地点:")
# inp3=input("输入你的爱好")
# print("敬爱可亲的",inp1,"最喜欢在",inp2,"地方干",inp3)
# 或
# inp1=input("请输入您的姓名:")
# inp2=input("请输入你想要的地点:")
# inp3=input("输入你的爱好")
# str1="敬爱可亲的{name},最喜欢在{add}地方做{doing}"
# str2=str1.format(name=inp1,add=inp2,doing=inp3)
# print(str2)
# 18、制作随机验证码,不区分大小写。 流程:
# - 用户执行程序
# - 给用户显示需要输入的验证码
# - 用户输入的值
# -用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入
# -生成随机验证码代码示例
# pd=True
# while pd :
# def check_code():
# import random
# checkcode=""
# for i in range(4):
# current=random.randrange(0,4)
# if current !=i:
# temp=chr(random.randint(65,90))
# else:
# temp=random.randint(0,9)
# checkcode += str(temp)
# return checkcode`
# code = check_code()
# print(code)
# sr=input("请输入验证码:")
# if sr == code:
# print("输入正确,谢谢")
# pd=False
# else:
# print("输入错误请重新输入:")

#19、开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:如 "苍老师""东京热",则将内容替换为 ***
# pd=True
# while pd:
# inp1=input("请输入信息,如果想结束程序请输入q或者Q回车即可:")
# if inp1=="q" or inp1 =="Q":
# pd=False
# else:
# v3=inp1.replace("东京热","***")
#      v3=v3.replace("苍老师",“***”)

# print(v3)

# 20、制作表格
# 循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效)
# 如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格打印出来
# pd=True
# while pd:
# inp1=input("请输入用户名:")
# inp2=input("请输入密码")
# inp3=input("请输入mail:")
# if inp1=="q" or inp1=="Q":
# break
# else:
# b1="用户名 密码 邮箱 {name} {passwd} {emal}"
# if len(inp1)>20 or len(inp2)>20 or len(inp3)>20:
# b2=b1.format(name=inp1[0:20],passwd=inp2[0:20],emal=inp3[0:20])
# b3=b2.expandtabs(30)
# print(b3)
# else:
# b2 = b1.format(name=inp1, passwd=inp2, emal=inp3)
# b3 = b2.expandtabs(20)
# print(b3)
最后一题的修改:
pd = True
sc="用户名 密码 邮箱 "
while pd:
name = input("请输入用户名:")
passwd = input("请输入密码")
email = input("请输入mail:")
if name == "q" or name == "Q":
break
else:
b1 = "{0} {1} {2} "
if len(name) > 20:
b2 = b1.format(name[0:20], passwd, email)
elif len(passwd)>20 :
b2 = b1.format(name, passwd[0:20], email)
elif len(email)>20 :
b2 = b1.format(name, passwd, email[0:20])
else:
b2 = b1.format(name, passwd, email)
sc=sc+b2
sc = sc.expandtabs(20)
print(sc)

原文地址:https://www.cnblogs.com/Centwei/p/9458879.html