Python练习_Python初识_day2

 题目

1.作业

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 

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、下列结果是什么?
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)、3 and 2 > 1
7)、0 and 3 > 1
8)、2 > 1 and 3
9)、3 > 1 and 0
10)、3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2

4、while循环语句基本结构?

5、利用if语句写出猜大小的游戏:
设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确,然后退出循环。

6、在5题的基础上进行升级:
给用户三次猜测机会,如果三次之内猜测对了,则显示猜测正确,退出循环,如果三次之内没有猜测正确,则自动退出循环,并显示‘太笨了你....’。

7、使用while循环输出 1 2 3 4 5 6 8 9 10

8、求1-100的所有数的和

9、输出 1-100 内的所有奇数(两种方法)

10、输出 1-100 内的所有偶数(两种方法)

11、求1-2+3-4+5 ... 99的所有数的和

12、⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化)

13、简述ASCII、Unicode、utf-8编码关系?

14、简述位和字节的关系?

15、“⽼男孩”使⽤UTF-8编码占⽤⼏个字节?使⽤GBK编码占⼏个字节?

2.

2.默写

1. Bit,Bytes,KB,MB,GB,TB之间的转换关系。
2. Unicode,utf-8,GBK,每个编码英文,中文,分别用几个字节表示。

 

答案

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

1)True
2)False

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

1)8
2)4

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)、3 and 2 > 1

7)、0 and 3 > 1

8)、2 > 1 and 3

9)、3 > 1 and 0

10)、3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2

1)6
2)3
3)False    # 注意这个
4)3
5)True
6)True
7)0
8)3
9)0
10)2

4、while循环语句基本结构?

while 条件:
    循环体

5、利用if语句写出猜大小的游戏:

设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确,然后退出循环。

f = 66
while 1:
    num = int(input('请输入一个数字:'))
    if f == num:
        print('猜测正确')
        break
    elif f > num:
        print('小了')
    else:
        print('大了')

6、在5题的基础上进行升级:

给用户三次猜测机会,如果三次之内猜测对了,则显示猜测正确,退出循环,如果三次之内没有猜测正确,则自动退出循环,并显示‘太笨了你....’。

f = 66
count = 0
while 1:
    if count == 3:
        print('太笨了你')
        break
    num = int(input('请输入一个数字:'))
    if f == num:
        print('猜测正确')
        break
    elif f > num:
        print('小了')
        count += 1
    else:
        print('大了')
        count += 1

7、使用while循环输出 1 2 3 4 5 6 8 9 10

count = 0
while count < 10:
    count += 1
    if count == 7:
        continue
    print(count)

8、求1-100的所有数的和

while 1:
    sum = 0
    for i in range(101):
        sum += i
    print(sum)
    break

9、输出 1-100 内的所有奇数(两种方法)

方法一:
for i in range(1,101, 2):
    print(i)
方法二:
count = 1
while count < 101:
    if count % 2 == 1:
        print(count)
        count += 2
    else:
        count += 2

10、输出 1-100 内的所有偶数(两种方法)

方法一:
for i in range(2,101, 2):
    print(i)
方法二:
count = 2
while count < 101:
    if count % 2 == 0:
        print(count)
        count += 2
    else:
        count += 2

11、求1-2+3-4+5 ... 99的所有数的和

count = 1
sum = 0
while count < 100:
    sum += (-1)**(count-1) * count
    count += 1
print(sum)

12、⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化)

i = 3
username = "yangxiaoer"
password = "123456"
while i>=0:
    name = input("请输入你的用户名:")
    if name == username:
        passwd = input("请输入你的密码:")
        if passwd == password:
            print("登录成功。请稍后")
            print('''
            username: %s
            password: %s
            '''%(username,password))
            break
        else:
            print("你的密码错误 请重新输入")
            print("你还有%s次机会" % (i-1))
            if i == 0:
                print('您的机会已经用完,结束本次操作')
                break
            continue
    else:
        print("你的用户名错误!请重新输入")
        print("你还有%s次机会"%(i-1))
    i -= 1



username = "yangxiaoer"
password = "123456"
i = 3
while i > 0:
    zh = input("请输入你的账号:")
    i -= 1
    if zh == username:
        mm = input("请输入你的密码:")
        if mm == password:
            print("验证成功.正在登陆......")
            print('''恭喜你登陆成功!
            欢迎用户进入
            用户名 :%s
            密码   :%s
            '''%(zh,mm))
            break
        else:
            if i == 0:
                print("你的机会已经没了!game over 下次见!")
                answer = input('再试试?Y or N')
                if answer == 'Y':
                    i = 3
            print("密码错误,请重新输入")
            print("你还有"+str(i)+"次机会")
    else:
        print("请输入正确的用户名!")
        if i == 0:
            print("你的机会已经没了!")
            answer = input('再试试?Y or N')
            if answer == 'Y':
                i = 3
        print("你还有" + str(i) + "次机会")
else:
    print('你TM要不要脸')

 

13、简述ASCII、Unicode、utf-8编码关系?

ASCII码:
    英文:8位
Unicode:
    英文:32位
    中文:32位
UTF-8:
    英文:8位
    欧洲文字:16位
    中文:24位

14、简述位和字节的关系?

8位 == 1个字节

15、“⽼男孩”使⽤UTF-8编码占⽤⼏个字节?使⽤GBK编码占⼏个字节?

UTF-8:9个字节
GBK:6个字节

 

默写

1.Bit,Bytes,KB,MB,GB,TB之间的转换关系。

8 bit = 1Bytes
1024 Bytes = 1KB
1024 KB = 1MB
1024 MB = 1GB
1024 GB = 1TB

2.Unicode,utf-8,GBK,每个编码英文,中文,分别用几个字节表示。

Unicode:
    起初:英 16位
             中16位
    优化:全为32位
        
utf-8:
    英:8位
    欧:16位
    中:24位

GBK:
    英:8位
    中:16位                

-

 

posted @ 2018-12-23 22:36  dongye95  阅读(301)  评论(0编辑  收藏  举报