如果输入的不是数字,或者大于100小于1的时候,提示重新输入而不改变number的值
"""游戏产生1-100的随机数
让玩家重复猜测
输出:猜大了,猜小了,猜对了,共猜了几次
"""
import random
count = 0
random_number = random.randint(1, 100)
while True:
count += 1
user = int(input('请输入一个数字:'))
if user > random_number:
print("猜大了")
elif user == random_number:
print("猜对了")
break
else:
print("猜小了")
print('共猜了%d次' % count)
本帖最后由 jhq999 于 2022-1-12 08:11 编辑
import random
count = 0
random_number = random.randint(1, 100)
while True:
user = input('请输入一个数字:')
if user.isdigit():
user=int(user)
if user <100 anduser>0:
count += 1
if user > random_number:
print("猜大了")
elif user == random_number:
print("猜对了")
break
else:
print("猜小了")
else:
print('请输入小于100的正整数')
else:
print('请输入数字')
print('共猜了%d次' % count)
多加一个条件
if user not digit or user < 1 or user >100:
print(“请输入一个1-100的数字“)
continue 本帖最后由 傻眼貓咪 于 2022-1-12 09:28 编辑
我的代码用 a 和 b 储存区间边界,每次输入后,更新区间值,往内缩小,直到答案为止,这样就不用每次都要记已经输入了什么。也附加异常处理,希望对你有帮助。import random
count = 0; a = 1; b = 100
num = random.randint(a, b)
while True:
count += 1
try:
res = int(input(f"请输入大于 {a} 小于 {b} 之间的整数:"))
if res < a or res > b: print("输入错误:输入值不在数字范围内"); continue
elif res > num: print("猜大了"); b = res
elif res < num: print("猜小了"); a = res
else:
print(f"猜对了,共猜了{count}次")
break
except Exception:
print("输入错误:不是合法数字")
continue 异常处理啦
页:
[1]