day 02课后作业
文章目录
- day 02课后作业
- 1. 判断下列逻辑语句的True False
- 2. 求出下列逻辑语句的值
- 3.下列结果是什么?
- 4. 简述变量命名规范以及注释
- 5. name = input('>>>') name变量是什么数据类型?
- 6. if条件语句的基本结构?
- 7. while循环语句基本结构?
- 8. 写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?
- 9. 改写之前作业:用户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使用字符串格式化)
- 10. 简述ascii、unicode、utf-8编码关系?
- 11. 简述位和字节的关系?
- 12. “老男孩”使用UTF-8编码占用几个字节?使用GBK编码占几个字节?
- 13. 制作趣味模板进程需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意实现 如:敬爱可亲的xxx,最喜欢在xxx地方干xxx
- 14. 等待用户输入内容,检测用户输入内容中是否包含敏感字符?如果存在敏感字符提示“存在敏感字符请重新输入”,并允许用户重新输入并打印。敏感字符:“小粉嫩”、“大铁锤”
- 15. 简述你所知道的Python3和Python2的区别?
- 16. continue 和 break 的区别?
- 17. 看代码书写结果:
1. 判断下列逻辑语句的True False
1) 1 >1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
2) not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
3) 1 >2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8 and 4 > 6 or 3 < 2
结果:
1)T
2)F
3)F
2. 求出下列逻辑语句的值
1) 8 or 3 and 4 or 2 and 0 or 9 and 7
2) 0 or 2 and 3 and 4 or 6 and 0 or 3
3) 5 and 9 or 10 and 2 or 3 and 5 or 4 or 5
结果:
1)8
2)4
3)9
3.下列结果是什么?
1) 6 or 2 > 1
2) 3 or 2 > 1
3) 0 or 5 < 4
4) 5 < 4 or 3
5) 2 > 1 or 6
6) 6 or 2 > 1
7) 3 and 2 > 1
8) 0 and 3 > 1
9) 2 > 1 and 3
10)3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2
结果:
1)6
2)3
3)F
4)3
5)T
6)6
7)T
8)0
9)3
10)2
4. 简述变量命名规范以及注释
1.必须有数字、字母或者下划线任意组合,且不能数字开头
2.不能是python中的关键字 如(print True等)
3.命名要有意义,变量要有可描述性,不宜过长
4.别用中文,很low,但不会报错
5.常量一般用大写表示
注释:
1.方便自己以及别人理解代码
2.单行注释:#
3.多行注释:三个单引号或者三个双引号
5. name = input(’>>>’) name变量是什么数据类型?
Str
6. if条件语句的基本结构?
if 条件:
满足条件执行代码
elif:
上面条件不满足的话,执行这个
else:
上面所有条件不满足就走这段
7. while循环语句基本结构?
while 条件:
循环体
满足条件,执行循环体
不满足条件,不执行
8. 写代码:计算 1 - 2 + 3 … + 99 中除了88以外所有数的总和?
思路,想到用continue
来退出本次循环。具体代码如下:
count = 1
sum = 0
while count < 100:
if count == 88: #判断是否等于88
count += 1 #必须要自加,否则一直在88这里循环出不去了。
continue
if count % 2 == 0:
sum = sum - count
else:
sum = sum + count
count += 1
print(sum)
#结果
138
9. 改写之前作业:用户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使用字符串格式化)
思路:当tries = 0 时候,提示 2次机会;当tries = 1 时候,提示1次机会 则关系为就是2-tries
tries = 0
while tries < 3:
username = input('请输入账号:')
password = input('请输入密码:')
if username == 'Lric' and password == '123':
print('登陆成功')
break
else:
print('登录失败,请重新登录,您还有%d次机会'% (2-tries)) #格式化输出,替换2-tries
tries += 1
else:
print('输错超过三次,您的用户已经被锁定,请20分钟后再试')
别人代码参考,思路清晰,逻辑明确。既判断用户名是否输入正确,又判断密码是否输入正确,且用到了字符串的拼接,自己把while…else加上了。只要不被break打断,就会执行else语句。
i = 3
username = 'Lric'
password = '123456'
while i > 0:
name = input('请输入你的用户名:')
i -= 1
if name == username:
pw = input('请输入你的密码')
if pw == password:
print('登陆成功,请稍后')
print('''
username:%s
password:%s
''' % (name, password))
break
else:
if i == 0:
print('次数已用完!')
print('密码错误,请重新输入')
print('你还剩'+str(i)+'次机会')
else:
if i == 0:
print('次数已用完!')
print('用户名输入错误,请重新输入')
print('你还剩'+str(i)+'次机会')
else:
print('您的用户已经被锁定,请20分钟后再试')
10. 简述ascii、unicode、utf-8编码关系?
Ascii: 美国最初始的编码,只能显示英文、数字和一些字符,用1个字节表示。最开始只有7位,但开发者怕以后会增加,预留了一位,为8位。但是其不能更完全的表示世界上其他文字和字符,因此开发了万国码–Unicode
Unicode: 刚开始用2个字节(16位)来表示现有的字符和文字,但是,对于中文来说不够,故允许使用4个字节(32位)来表示中文。而这样做的话太浪费空间了。于是对其进行了一个升级–utf-8
utf-8: 对字符和符号进行了分类
英文用1个字节表示;
欧洲字符用2个字节表示;
东亚等字符用3个字节表示
11. 简述位和字节的关系?
8 bit (位) = 1 byte (一个字节)
其他的转换关系:
1024 byte = 1 KB
1024 KB = 1 MB
1024 MB =1 GB
1024 GB = 1TB
12. “老男孩”使用UTF-8编码占用几个字节?使用GBK编码占几个字节?
“老男孩”使用UTF-8编码占用3个字节,使用GBK编码占2个字节
13. 制作趣味模板进程需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意实现 如:敬爱可亲的xxx,最喜欢在xxx地方干xxx
name = input('请输入你的名字:')
place = input('请随意输入一个地点:')
hobby = input('请输入你的爱好:')
info = '''敬爱的%s,最喜欢在%s,%s''' % (name, place, hobby)
print(info)
14. 等待用户输入内容,检测用户输入内容中是否包含敏感字符?如果存在敏感字符提示“存在敏感字符请重新输入”,并允许用户重新输入并打印。敏感字符:“小粉嫩”、“大铁锤”
name = input('请输入:')
while True:
if name == '小粉嫩' or name == '大铁锤':
print('存在敏感字符,请重新输入!')
name = input('请重新输入:')
else:
print('pass')
break
15. 简述你所知道的Python3和Python2的区别?
python 2:
1.由龟叔团队开发,源码杂而乱。违背了python开发宗旨
2.编码方式为Ascii码,出现中文是会报错。当用utf-8进行编译时候,不会报错,但是会乱码。
python 3:
1.龟叔不满意python2,于是自己开发python3,简洁、明确,可以看看python之禅
2.编码方式utf-8,读取中文不会乱码
16. continue 和 break 的区别?
continue:结束本次循环,继续下一次循环
break: 终止并退出循环
17. 看代码书写结果:
a = 1>2 or 4<7 and 8 == 8
print(a)
#结果
True