day02--课后练习

#!/usr/bin/env python
# _*_coding:utf-8_*_
# @Author : Wenjie

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

提示: or : if x == 0 then y else x
and : 相反


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 条件:

    循环体

  else:

    当条件不成立时执行这里; 注意break直接退出,不会执行else部分

break:终止当前循环

continue:停止当前本次循环。 继续执行下一次循环


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

num = 66
while True:
guess_num = input("请输入你猜测的数字>>: ").strip()
if len(guess_num) > 0:
if guess_num.isdigit():
guess_num = int(guess_num)
if guess_num == 66:
print("答对了!")
break
elif guess_num < 66:
print("猜小了")
else:
print("猜大了")
else:
print("输入无效,请输入数字")
else:
print("输入不能为空")


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

num = 66
i = 0
while i < 3:
guess_num = input("请输入你猜测的数字>>: ").strip()
if len(guess_num) > 0:
if guess_num.isdigit():
guess_num = int(guess_num)
if guess_num == 66:
print("答对了!")
break
elif guess_num < 66:
print("猜小了")
i += 1
else:
print("猜大了")
i += 1
else:
print("输入无效,请输入数字")
i += 1
else:
print("输入不能为空")
i += 1
else:
print("太笨了!")


7.使⽤while循环输⼊ 1 2 3 4 5 6 8 9 10

i = 1
while i < 11:
if i == 7:
i += 1
else:
print(i)
i += 1


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

i = 1
sum = 0
while i <= 100:
sum += i
i += 1
print(sum)


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

i = 1
while i <= 100:
if i % 2 == 1:
print(i)
i += 1
else:
i += 1

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

i = 1
while i <= 100:
if i % 2 == 0:
print(i)
i += 1
else:
i += 1


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

i = 1
sum1 = 0
sum2 = 0
while i < 100:
if i % 2 == 0:
sum1 += i
i += 1
else:
sum2 += i
i += 1
print(sum2 - sum1)


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

user = "alex"
password = "123"

i = 0
while i < 3:
username = input("请输入用户名>>:").strip()
if username == user:
passwd = input("请输入密码>>: ").strip()
if passwd == password:
print("欢迎登陆!%s" %username)
break
else:
print("密码错误!剩余%s 次机会!"%(2-i))
i += 1
else:
print("用户名输入错误!剩余%s 次机会"%(2-i))
i += 1
else:
print("输入错误累计三次,系统退出。。。")


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

质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,
无法被其他自然数整除的数(也可定义为只有1与该数本身两个因数的数)。
while True:
num = input("请输入一个数(大于1)>>:").strip()
if num.isdigit():
num = int(num)
if num > 2:
for i in range(2,num):
if num % i == 0:
print("数字%s不是质数"%num)

else:
print("数字%s是质数"%num)
break
break
elif num == 2:
print("数字%s是质数"%num)
break
else:
print("请输入大于1的数!")
else:
print("请输入数字!")

14. 输⼊⼀个⼴告标语. 判断这个⼴告是否合法. 根据最新的⼴告法来判断. ⼴
告法内容过多. 我们就判断是否包含'最', '第⼀', '稀缺', '国家级'等字样. 如果包
含. 提示, ⼴告不合法
           例如, 1. ⽼男孩python世界第⼀. ==> 不合法
                 2. 今年过年不收礼啊. 收礼只收脑⽩⾦. ==> 合法


ad = input("请输入广告标语>>: ").strip()
if "最" in ad:
print("广告语不合法!")
elif "第一" in ad:
print("广告语不合法!")
elif "稀缺" in ad:
print("广告语不合法!")
elif "国家级" in ad:
print("广告语不合法!")
else:
print("广告语合法!")

15. 输⼊⼀个数. 判断这个数是⼏位数(⽤算法实现)(升级题)

num = input("请输入一个数字>>: ").strip()
if num.isdigit():
number = len(num)
print("该数为%s位" % number)
else:
print("请输入数字!")



原文地址:https://www.cnblogs.com/alvin-jie/p/9812699.html