【python】day 02 课后作业

day 02课后作业

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值