python菜鸟问题,猜数字游戏出现报错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python菜鸟问题,猜数字游戏出现报错相关的知识,希望对你有一定的参考价值。
写了个猜数字的小游戏目前问题,如果输入的不是数字比如,英文字母或空格或不输入时,会出现报错,请问应该怎么写
这个是典型的异常处理,try except
这样,有异常会重新要求输入,程序不会中断
参考技术A 肯定的,因为你用int做了强制类型转换,如果输入的不是int类型就会报错,其实可以加个检测,如果输入不符合int类型自动忽略或者重新输入就好了追问如何加检测,能否告知下吗
参考技术B def panduan():a = input('input:')
for i in a:
if ord(i) not in range(48, 58):
print('不是数字')
break
else:
b = int(a)
print(b)
while True:
panduan()
这种麻烦点,不过挺好玩的
参考技术C import randomanswer = random.randint(1,100)
while True:
n = input('请输入1-100的数字:')
try:
n = int(n)
if n == answer:
break
else:
if n>answer:
print('数值过大')
else:
print('数值过小')
except:
pass
print('你赢了')
ps:我把你的答案变量名改成answer了,原谅我英文命名的强迫症
Python 猜数字游戏
分别用while循环和for循环来玩转猜数字游戏
1.对于限定猜数字次数
(1)while循环
number = 56
count = 0
while count < 3:
guess_number = int(input("guess number:"))
if guess_number == number:
print("Yes,you got it.")
break #break 跳出当前循环
elif guess_number > number:
print("think smaller...")
else:
print("think bigger!")
count +=1
else:
print("you have tried too many times..fuck off")
(2)for 循环
number = 56
for i in range(3):
guess_number = int(input("guess number:"))
if guess_number == number:
print("Yes,you got it.")
break
elif guess_number > number:
print("think smaller...")
else:
print("think bigger!")
else:
print("you have tried too many times..fuck off")
2. 任性玩 ,不限制次数
number = 56
count = 0
while count < 3:
guess_number = int(input("guess number:"))
if guess_number == number:
print("Yes,you got it.")
break
elif guess_number > number:
print("think smaller...")
else:
print("think bigger!")
count +=1
if count == 3:
countine_confirm = input("do you want to keep guessing") #如果猜错3次,提示要不要退出游戏 ,输入n表示退出
if countine_confirm !=‘n‘:
count = 0
以上是关于python菜鸟问题,猜数字游戏出现报错的主要内容,如果未能解决你的问题,请参考以下文章