标签:长度 range pyhton 一个用户 练习题 为我 mat imp 路径
今天下雪了呢!连着两天都没有更新学习记录。
我没有偷懒呢。做了一天的练习题,昨天学的内容还没总结完,太累了就回去睡觉了
连续一周早起,强大的内心也无法支撑我疲惫的身体
今天早起做了整理。加油哦(贵在坚持,一定要好好坚持下去)
(1)进入python解释器,等待用户实时输入
(2)python.exe + 执行文件的路径
1字节 = 8位
ASCII是最早美国用的标准信息交换码,把所有的字母的大小写,各种符号用二进制来表示,共有256中,加入些拉丁文等字符,1bytes代表一个字符.
Unicode是为了统一世界各国语言的不用,统一用2个bytes代表一个字符,可以表达2**16=65556个,称为万国语言,特点:速度快,但浪费空间,可以用在内存处理中,兼容了utf-8,gbk,ASCII.
utf-8是为了改变Unicode的浪费内存空间的缺点,规定1个英文字符用1个字节表示,1个中文字符用3个字节表示,特点;节省空间,速度慢.
gbk是中文的字符编码,用2个字节代表一个字符.
utf-8: 48位
gbk: 32位
单行注释: #
多行注释: """......"""
变量由数字、字母和下划线构成。
需要注意三点:第一,第一位不可以是数字;第二,不可以使用python里的关键字;第三,尽量不要和python内置的东西重复
程序: test = 5 v = test.bit_length() print(v) 运行结果: 3
真(True)或假(False),真为1 假为0
a = "alex" b = a.capitalize() print(a) print(b)
请写出输出结果: alex Alex
#(说明字符串一旦创建便不可修改)
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 个字符?
程序:
name = ‘ aleX‘ a = name.lstrip() b = name. startswith(‘al‘) c = name.endswith(‘X‘) d = name.replace(‘l‘,‘p‘) e = name.partition(‘l‘) f = type(e) g = name.upper() h = name.lower() i = name[1] print(a,b,c,d,e,f,g,h,i)
运行结果:
aleX False True apeX (‘ a‘, ‘l‘, ‘eX‘) <class ‘tuple‘> ALEX alex
#请输出 name 变量对应的值的前 3 个字符
for j in range(0,3): print((name[j])) 运行结果: a
k. 请输出 name 变量对应的值的后 2 个字符?
l. 请输出 name 变量对应的值中 “e” 所在索引位置?
m. 获取子序列,仅不包含最后一个字符。如: oldboy 则获取 oldbo; root 则获取 roo
#k.程序一: name = ‘ aleX‘ for j in range(4,6): print(name[j]) #k.程序二: name = ‘ aleX‘ v = name[4:6] print(v) #k.程序三: name = ‘ aleX‘ v1 = name.find(‘e‘) v2 = name.find(‘X‘) for j in range(v1,v2 + 1): print(name[j])‘ #l.程序: name = ‘ aleX‘ v1 = name.find(‘e‘) print(v1) #m.程序: name = ‘ aleX‘ v1 = name.find(‘X‘) v2 = name[0:v1] print(v2)
字符串为可迭代对象。
程序: test = ‘abcdefg‘ for j in test: print(j)
#简单的来理解,可迭代对象为可以被for进行循环获取的
a. 利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"
b. 利用下划线将列表的每一个元素拼接成字符串,li = [‘alex‘, ‘eric‘, ‘rain‘]
a.程序: li = "alexericrain" v = ‘_‘.join(li) print(v) b.程序: li = [‘alex‘, ‘eric‘, ‘rain‘] v1 = ‘‘.join(li) v2 = ‘_‘.join(v1) print(v2)
#b题的程序我是在还没有学习列表知识前就试着想把列表转成字符串来处理。
#是因为我理解错题目意思了,对于列表中的每一个元素,是用逗号来分割的。
#改程序如下: li = [‘alex‘, ‘eric‘, ‘rain‘] v1 = ‘_‘.join(li) print(v1)
在Python2中,range一旦创建,内存便开辟,连续数字已经创建。python中有xrange,用法同Python中的range
在Python3中,rang创建之后,需要通过for循环来一个一个创建连续数字,也可以通过参数设置来确定步长
程序: while True: num1 = input(‘请输入第一个加数:‘) x1 = int(num1) num2 = input(‘请输入第二个加数:‘) x2 = int(num2) print(x1,‘+‘,x2,‘=‘,x1 + x2)
#我想,我的理解能力真的有待提高,老师的意思是用户直接输入5+9,让我来写程序计算结果(手动捂脸)
#修改程序:
while True: test1 = input(">>>") test2 = test1.partition(‘+‘) v1 = int(test2[0]) v2 = int(test2[2]) print(v1+v2)
test = input(">>>") m = 0 n = 0 for j in test: if (96 < ord(j) < 123) or (64 < ord(j) < 91): m += 1 elif 47 < ord(j) < 58: n += 1 else: pass print(‘字母个数:‘,m,‘数字个数:‘,n)
类和对象的关系
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实
while True: test1 = input(‘请输入您的姓名:‘) test2 = input(‘请输入您喜欢做的事情:‘) test3 = input(‘请输入您喜欢在哪里做喜欢的事情‘) v1 = [test1,‘最喜欢在‘,test3,test2] v2 = ‘‘.join(v1) print(v2)
#我好想总是喜欢把问题复杂化,可能是学过的知识不能灵活应用
#慢慢来吧,其实这个题用.format直接格式化会很简单
#程序修改: while True: test = ‘敬爱可亲的{0},最喜欢在{1}{2}‘ name = input(‘请输入您的姓名:‘) something = input(‘请输入您喜欢做的事情:‘) place = input(‘请输入您喜欢在哪里做喜欢的事情:‘) v = test.format(name,place,something) print(v)
流程:
- 用户执行程序
- 给用户显示需要输入的验证码
- 用户输入的值
- 用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入
#随机验证码产生 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 while True: code = check_code() print(code) usercode = input(‘>>>‘) v = usercode.upper() if v == code: print(‘验证码输入正确‘) break else: print(‘验证码输入错误‘)
如 "苍老师" "东京热",则将内容替换为 ***
while True: test = input(‘>>>‘) v = test.replace(‘东京热‘,‘***‘) v = v.replace(‘苍井空‘,‘***‘) print(v)
循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效)
如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格形式打印
while True: test1 = input(‘username:‘) test2 = input(‘password;‘) test3 = input(‘mailbox:‘) test4 = ‘ username\t password\t mailbox\n‘ test5 = [test1, ‘\t‘, test2, ‘\t‘, test3] v1 = test4.expandtabs(20) v2 = ‘‘.join(test5) v4 = v2.expandtabs(20) print(v1, v4) if input(‘‘) == ‘q‘ or ‘Q‘: break else: pass
#我自己写的这个程序后面发现是有点问题的,因为只能打印一个用户的信息,当下一个用户信息输入时,就会覆盖掉前一个用户信息
#程序完善: s = ‘username\tpassword\tmailbox\n‘ while True: test1 = input(‘username:‘) test2 = input(‘password;‘) test3 = input(‘mailbox:‘) template = ‘{0}\t{1}\t{2}\n‘ v = template.format(test1,test2,test3) s = s + v if input(‘‘) == ‘Q‘ or ‘q ‘: break else: pass print(s.expandtabs(20))
其实,要想实现一个功能,程序可以有很多种方法。我们不仅仅是局限于当期,写完一个程序要多思考、多完善。加油!
标签:长度 range pyhton 一个用户 练习题 为我 mat imp 路径
原文地址:https://www.cnblogs.com/guoruxin/p/9860545.html