Day2作业及默写

1、判断下列逻辑语句的True,False.

1) 1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 
   False or True  or False and True  and  True or False
   True
2) not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
       False and True  or False and True  and True  or False
   False

2、求出下列列逻辑语句的值。

1) 8 or 3 and 4 or 2 and 0 or 9 and 7
   8 or 4       or 0       or 7
   8     
2) 0 or 2 and 3 and 4 or 6 and 0 or 3
   0 or 3       and 4 or 0       or 3
   4

3、下列列结果是什什么?

1)、6 or 2 > 1   6
2)、3 or 2 > 1   3
3)、0 or 5 < 4   False
4)、5 < 4 or 3   3
5)、2 > 1 or 6   True
6)、3 and 2 > 1  True
7)、0 and 3 > 1  0
8)、2 > 1 and 3  3
9)、3 > 1 and 0  0
10)、3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2
    True   and 2 or True  and 4       or True
    2

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

while 条件:
    循环体
else: 循环在正常情况跳出之后会执⾏行行这⾥里里

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

GuessNum = 66
exit_flag = False
while not exit_flag:
    InputNum=input('Guess Num:').strip()
    if not InputNum.isdigit():
        print('Pls Input A Num.')
        continue
    else:
        InputNum=int(InputNum)
    
    if InputNum == GuessNum:
        print('Well Done')
        exit_flag = True
    elif InputNum > GuessNum:
        print('More Than GuessNum')
    elif InputNum < GuessNum:
        print('Less Than GuessNum')
    else:
        print('Input a num')

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

Count = 0
GuessNum = 66
while Count < 3:
    InputNum=input('Guess Num:').strip()
    if not InputNum.isdigit():
        print('Pls Input A Num.')
        continue
    else:
        InputNum=int(InputNum)
    
    if InputNum == GuessNum:
        print('Well Done')
        break
    elif InputNum > GuessNum:
        print('More Than GuessNum')
    elif InputNum < GuessNum:
        print('Less Than GuessNum')
    else:
        print('Input a num')
    Count+=1
else:
    print('太笨了了你....')

7.使用while循环输入1234568910

num = 1
while num < 11:
    if num != 7:
        print(num)
    num+=1
num = 1
while num < 11:
    if num == 7:
        num+=1
        continue
    print(num)
    num+=1

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

num = 1
sum = 0
while num < 101:
    sum+=num
    num+=1
else:
    print('和为%d' % sum)

9.输出 1-100 内的所有奇数

num = 1
while num < 101:
    if num %2 != 0:
        print(num)
    num+=1
num = 1
while num < 101:
    print(num)
    num+=2

10.输出 1-100 内的所有偶数

num = 1
while num < 101:
    if num %2 == 0:
        print(num)
    num+=1
num = 2
while num < 101:
    print(num)
    num+=2

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

sum = 0
num = 1
while num < 100:
    if num % 2 == 0:
        print('%d+'%num,end='')
        sum-=num
    if num % 2 != 0:
        if num == 99:
            sum+=num
            print('%d'%num,end='\n\n')
        else:
            print('%d-'%num,end='')
            sum+=num
    if num == 99:
        print('1-2+3-4+5 ... 99的所有数的和:%d' % sum)
    num+=1

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

username='long'
password=123

count = 1
while count < 4:
    UserName=input('UserName:').strip()
    PassWord=input('PassWord:').strip()
    if UserName == username and int(PassWord) == password :
        print('LogIn.')
        break
    else:
        print('还剩%d次机会。'% (3-count))
        count+=1

13.简述ASCII、Unicode、utf-8编码

ASCII编码

1967年美国制定了一套编码规范,其中规定了 128 个字符与二进制的对应关系,称之为 ASCII 编码,
二进制范围是 0-127:[00000000,011111111],可以看出来最高位没有使用。虽然 ASCII 规范出来了,
但是存在很多不足,主要原因是它所包含的字符集太小,只有拉丁字母、阿拉伯字符、英文标点和一些控制字符,
此时欧洲人第一个站出来表示不高兴,比如意大利语的字符 Á 没法表示,正好ASCII 编码中最高位被闲置了,
把这部分进行利用,将ASCII 从7位扩展成了8位,这就是扩展ASCII(EASCII)。

将 ASCII 编码扩展之后,欧洲人高兴了,但是其他语音还是不能处理。
为了解决这些语言的编码问题,各国开始搞自己的编码,这期间产生了许多种编码格式,
比如常见的汉字编码格式 GB-2312。各个国家都采用不同的编码,这样是没办法相互通信的,
所以需要有一种编码,能够涵盖所有语言符号,这就是 Unicode。

Unicode

世界上存在着多种编码方式,同一个二进制数字可以被解释成不同的符号。因此,要想打开一个文本文件,
就必须知道它的编码方式,否则用错误的编码方式解读,就会出现乱码。为什么电子邮件常常出现乱码?
就是因为发信人和收信人使用的编码方式不一样。可以想象,如果有一种编码,将世界上所有的符号都纳入其中。
每一个符号都给予一个独一无二的编码,那么乱码问题就会消失。这就是Unicode,
就像它的名字都表示的,这是一种所有符号的编码。

Unicode是一个很大的集合,现在的规模可以容纳100多万个符号。每个符号的编码都不一样,
比如,U+0639表示阿拉伯字母Ain,U+0041表示英语的大写字母A,U+4E25表示汉字“严”。
具体的符号对应表,可以查询unicode.org ,或者专门的汉字对应表 。

UTF-8

互联网的普及,强烈要求出现一种统一的编码方式。UTF-8就是在互联网上使用最广的一种unicode的实现方式。
其他实现方式还包括UTF-16和UTF-32,不过在互联网上基本不用。这里的关系是,
UTF-8是Unicode的实现方式之一。 
UTF-8最大的一个特点,就是它是一种变长的编码方式。
它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。

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

计算机存储的最小的基本单位是位 只能用0或者1来表示
计算机常用的存储单位是字节 1字节由8位组成
字是人为的自然的最小存储单位 一个英文字母和英文标点两个字节

明日默写内容:

1. 求1~100所有数的和。

2. break continue的含义区别

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

15. ⽤户输⼊入一个数. 判断这个数是否是一个质数(升级题).

质数(prime number)又称素数,有无限个。
一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,
换句话说就是该数除了1和它本身以外不再有其他的因数。

while True: 
    count = 2
    InputNum = input('Input A Num:').strip()
    if InputNum.isdigit():
        InputNum=int(InputNum)
        if InputNum > 1:
            while count < InputNum:
                if InputNum % count == 0: 
                    print('%d不是质数' % InputNum)
                    break 
                count+=1
            else: 
                print('%d是质数' % InputNum)

        else: 
            print('不是质数。')
    else: 
        print('不是质数。')

16. 输⼊⼀个广告标语. 判断这个广告是否合法. 根据最新的⼴告法来判断. 广告法内容过多. 我们就判断是否包含'最', '第⼀', '稀缺', '国家级'等字样. 如果包 含. 提示, 广告不合法

1. 老男孩python世界第一. ==> 不合法

2. 今年过年不收礼啊. 收礼只收脑白金. ==> 合法

ads = input('广告标语:')
if '最' in ads or '第⼀' in ads or '稀缺' in ads or '国家级' in ads:
    print('不合法广告')
else:
    print('合法广告')

17. 输入一个数. 判断这个数是几位数(用算法实现)(升级题)

while True: 
    InputNum = input('Input a num:').strip()
    if InputNum.isdigit():
        count=1
        InputNum=int(InputNum)
        while InputNum > 10: 
            InputNum=InputNum/10
            count+=1
        print('这是一个%d位数' % count)
    else: 
        print('Input a num.')
        continue     

猜你喜欢

转载自www.cnblogs.com/meilong/p/Day2zuo-ye-ji-mo-xie.html