Lyf凤

靡不有初,鲜克有终

扩大
缩小

运算符和编码作业及默写

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

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

7.使用while循环输出123456 8910

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

10.输出 1-100 内的所有偶数
11.求1-2+3-4+5 ... 99的所有数的和.

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

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

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


例如, 1. 老男孩python世界第一. ==> 不合法
  2. 今年过年不收礼啊. 收礼只收脑白金. ==> 合法

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


 

 

明日默写代码:
1. 求1-100之间所有的数的和
2. And or not的含义和特征
3. break continue的含义. 有什么区别

 

# Day2作业及默写
# 1、判断下列逻辑语句的True,False.
1) 1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6  (结果:True)
2) not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 (结果:False)
# 2、求出下列逻辑语句的值。
1),8 or 3 and 4 or 2 and 0 or 9 and 7   (结果:8)
2),0 or 2 and 3 and 4 or 6 and 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  (结果:2)


# 4、 while循环语句基本结构?
    while 条件语句:
        循环体

# 5、
#初级玩法
num = 66
while True:
    guess = int(input('请猜测数字:'))
    if guess > num:
        print('Too bigger')
    elif guess < num:
        print('Too smaller')

    else:
        print('you are right')
        break

#升级:随机产生一个数字去猜测,直到猜测正确停止
from random import randint
num = randint(1,100)#随机产生一个1-100之间的随机整数
left = 1
right = 100
while True:
    guess = int(input('请猜测数字(%s-%s):' % (left, right)))#提示正确的范围
    if guess > num:
        print('Too bigger')
        if right < num:
            right = guess
    elif guess < num:
        print('Too smaller')
        if left > num:
            left = guess
    else:
        print('you are right')
        break

#升级:随机产生一个数字去猜测,猜测3次就停止
from random import randint
num = randint(1,100)#随机产生一个1-100之间的随机整数
left = 1
right = 100
count = 0
while count < 3:
    guess = int(input('请猜测数字(%s-%s):' % (left, right)))#提示正确的范围
    if guess > num:
        print('Too bigger')
        if right < num:
            right = guess
    elif guess < num:
        print('Too smaller')
        if left > num:
            left = guess
    else:
        print('you are right')
        break #break 结束循环并不会执行到下面的 else
    count += 1
else:#只有当条件不成立的时候才能执行到它,第一次循环的时候条件就不成立也会执行它
    print('太笨了你....')
# 如果不使用 else 可以这样
if count >= 3:
    print('真笨')
else:
    print('真聪明')

# 6、
num = 66
count = 0
while count < 3:
    guess = int(input('请猜测数字:'))
    if guess > 66:
        print('Too bigger')
    elif guess < 66:
        print('Too smaller')
    else:
        print('you are right')
        break
    count += 1
else:
    print('太笨了你....')

# 7.
#方法一
count = 0
while count < 10:
    count += 1
    if count == 7:
        continue
    else:
        print(count)

#方法二
count = 1
while count <= 10:
    if count != 7:
        print(count)
    count += 1



# 8.
count = 1
sum = 0
while count <= 100:
    sum += count
    count += 1
print(sum)

# 9.
count = 1
while count <= 100:
    if count % 2 == 1:
        print(count)
    count += 1



# 10.
count = 1
while count <= 100:
    if count % 2 == 0:
        print(count)
    count += 1




# 11.
count = 1
sum = 0
while count < 100:
    if count % 2 == 1:  # 奇数加上
        sum += count
    else:
        sum -= count  # 偶数减去
    count += 1
print(sum)

# 12.
#方法一:自己做的
count = 3
while count > 0:
    count -= 1
    name = input('Name:').strip()
    password = input('Password:').strip()

    if name == 'alex' and password == 'abc':
        print('welcome...')
        break
    else:
        if count != 0:
            print('你还有%s 次输错机会' % count)

else:
    print('你已经输错三次了,无法登录')
#方法二:老师讲的
uname = 'alex'
upsw = '123'
count = 1
while count <= 3:
    username = input('请输入你的用户名:').strip()
    password = input('请输入你的密码:').strip()
    if username == uname and password == upsw:
        print('登录成功')
        break
    else:
        print('用户名或密码错误!')
        if 3-count > 0:
            print('你还有%s 次输错机会' % (3-count))  #机会用(3-count)很好
        else:
            print('你已经输错三次了,无法登录')
            break
    count += 1


# 13. 
#质数:只能被1和它本身整除的数 
# 我写的
num = int(input('请输入一个大于1的整数:')) if num == 1: print('1不是质数也不是合数') else: count = 2 while count < num: if num % count == 0: print('%s 不是质数' % num) break count += 1 else: print('%s 是质数' % num) #老师写的 (并没有排除1) n = int(input('请输入一个数字:')) for i in range(2, n): # i的范围是从2到 n-1 if n % i == 0: # 整除不是质数 print(f'{n}不是质数') break else: # 是质数的条件是遍历2~n之间所有的除数都不能整除,而不是只判断一个元素,所以要注意else的位置是和for是配对的而不是和if print(f'{n}是一个质数') # 扩展: 求1~100之内的所有质数 for n in range(2, 100): # n的范围直接从2开始取值,因为1不是质数也不是合数 for i in range(2, n): # i的范围是从2到 n-1 if n % i == 0: break else: # 是质数 print(n) # 扩展: 求1~100之内的所有质数的和 sum = 0 for n in range(2, 100): # n的范围直接从2开始取值,因为1不是质数也不是合数 for i in range(2, n): # i的范围是从2到 n-1 if n % i == 0: break else: # 是质数 sum += n print(sum) # 14. ad = input('请输入一个广告标语:') if '' in ad or '第⼀' in ad or '稀缺' in ad or '国家级' in ad: print('广告不合法') else: print('广告合法') ##错误示范: if '' or '第⼀' or '稀缺' or '国家级' in ad:pass #这样等价于
if '最' or '第⼀' or '稀缺' or ('国家级' in ad),结果就是'最'(因为在 or 表达式中,最左边的'最'不为0,而且 in 的优先级比 or 高)
if ('' or '第⼀' or '稀缺' or '国家级') in ad: pass#这样等价于 if '最' in ad,结果就是判断这个表达式的值 #结论:上面这个表达式不加括号的话是 in 的优先级比 or 高 # 14. #偷懒的最简单的方法是利用 len()求长度,如果考虑负数的话要先转化为绝对值 num = abs(int(input('请输入一个整数:'))) len_num = len(num) ##老师讲过之后修改(这里只能判断整数,不能判断小数) # 不转化为绝对值没办法判断负数,负数地板除的结果总是带一个负号的,不可能结果是0 num = int(input('请输入一个整数:')) #负数没办法判断,那就把负数转化为正数,方法:求绝对值或者负负得正 num = abs(num) #abs() 绝对值 # #负负得正 # if num <= 0: # num = -num count = 0 while True: count += 1 if num // 10 != 0: num //= 10 continue else: print('你输入的是一个%s 位数' % count) break #老师写的(思想相同:这道题的核心就是地板除) num = abs(int(input('请输入一个整数:'))) count = 0 while 1: num //= 10 #num = num // 10 地板除的结果是商的整数部分 count += 1 if num == 0: break print(count) #扩展:求一个数字有多少位小数 num = input('请输入一个小数:') # -123.345这里不需要转化为绝对值了,因为下面使用的是切片,不涉及前面的负号 c = len(num[num.index('.')+1:]) # 对原数字从小数点后面一位的数字开始做切片 print(c) # 明⽇默写代码: # 1. 求1-100之间所有的数的和 count = 1 sum = 0 while count <= 100: sum += count count += 1 print(sum) # 2. And or not的含义和特征 and : 并且. 左右两端同时为真. 结果才能是真 or : 或者. 左右两端有一个是真. 结果就是真 not : 非. 非真既假, 非假既真 不真-> 假 不假 -># 3. break continue的含义. 有什么区别 break: 立刻跳出循环. 打断的意思 continue: 停⽌本次循环, 继续执行下一次循环.

 

 

 

posted on 2018-12-03 02:29  Lyf凤  阅读(405)  评论(0编辑  收藏  举报

导航

levels of contents