python 逻辑判断 循环练习题

时间:2023-02-24 10:41:51
# 1、判断下列列逻辑语句句的True,False.
# 1)1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 Ture
# 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 条件:
# 代码块1(循环体)
# else:
# 代码块2
# 条件成立循环代码块1 条件不成立执行代码块2

# 5、利利⽤用while语句句写出猜⼤大⼩小的游戏:
# 设定⼀一个理理想数字⽐比如:66,
# 让⽤用户输⼊入数字,如果⽐比66⼤大,
# 则显示猜测 的结果⼤大了了;
# 如果⽐比66⼩小,则显示猜测的结果⼩小了了;
# 只有等于66,显示猜测结果 正确,然后退出循环
print("猜大小游戏!")
while 1:
number = int(input("请输入数字:"))
if number > 66:
print("你猜大了!")
elif number < 66:
print("你猜小了!")
else:
print("你猜对了")
break

# 6、在5题的基础上进⾏行行升级:
# 给⽤用户三次猜测机会,如果三次之内猜测对了,则显示猜测正确,退出循环,
# 如果三次之内没有猜测正确,则⾃自动退出循环,并显示‘太笨了你....’。
print("你有三次机会猜数字大小")
count = 3
while count > 0:
count -= 1
num = int(input("请输入数字"))
if num > 66:
print("你猜大了!")
elif num < 66:
print("你猜小了!")
else:
print("你猜对了!")
break
else:
print("太笨了你....")

# 7. 使⽤用while循环输⼊ 1 2 3 4 5 6 8 9 10
num = 1
while num <= 10:
if num != 7:
print(num)
num += 1

# 8.求1-100的所有数的和
number = 1
sum = 0
while number <= 100:
sum += number
number += 1
print("从1到100的总和为%s" %(sum))

# 9.输出 1-100 内的所有奇数
number = 1
while number <= 100:
if number % 2 == 1:
print(number)
number += 1

# 10.输出 1-100 内的所有偶数
number = 1
while number <= 100:
if number % 2 == 0:
print(number)
number += 1

11.求1-2+3-4+5 ... 99的所有数的和.
number = 1
sum = 0
while number <= 99:
if number % 2 == 1:
sum += number
else:
sum -= number
number += 1
print(sum)

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

count = 3
while count > 0:
name = input("请输入账号:")
password = input("请输入密码:")
if "张飞" == name and "123456" == password:
print("登陆成功!")
break
else:
count -= 1
if "张飞" == name:
if count != 0:
          print("密码错误请重新输入!您还有%s次机会" %(count))
else:
if count != 0:
          print("账号错误请重新输入!您还有%s次机会" %(count))
else:
  print("再见!")

# 13. ⽤用户输⼊入⼀一个数.  判断这个数是否是⼀一个质数(升级题).
# 质数,又称素数,是只能被1或者自己整除的自然数。
# 比1大但不是素数的数我们称之为合数,1和0即非素数也非合数
# 最小的素数是2,而最大的素数并不存在,这一点欧几里德已在其《几何原本》中证明。

num = int(input("请输入一个数字!"))
i = 2
if num >= 2:
while i < num:
if num % i == 0:
print("您输入的数字%s不是质数!" % (num))
break
else:
i += 1
else:
print("您输入的数字%s是质数!"%(num))
else:
print("输入错误!")


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


string = input("请输入广告语:")
if '最'in string or '稀缺'in string or '*'in string or'第⼀'in string:
print("广告不合法 
")

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

num = int(input("输入一个数:"))
i = 10
count = 1
while num != 0:
num //= i
if num > 0:
count += 1
print(count)

# 判断1-100中所有质数
num = 2
while num < 100:
i = 2
while i < num:
if num % i == 0:
# print("您输入的数字%s不是质数!" % (num))
break
else:
i += 1
else:
print("您输入的数字%s是质数!"%(num))
num += 1



i = 0
count = 0
num = input("输入一串数字判断是几位")
for i in num:
print(i)
count += 1
print(count)