如果输入是整数输入的for循环中的字符串,我如何排除1 try



我正在尝试一个"猜数字游戏";作为个人项目。我一开始很成功,但遇到了一个问题。如果用户输入了非整数(例如字符串或浮点(,我如何使非整数输入不算作for循环的尝试?

我的代码:

import random
print('Hi, what is your name')
name=input()
print('Hi '+ name + ' I am thinking of a number, make a guess')
secret = random.randint(1,6)

for guess in range (1,7):
try:
number = int(input())
if number > secret:
print ('Your guess is too large')

elif number < secret:
print('Your guess is too small')
elif number != int:
range(- 1)         #Do not consider non-integer as a try.

else:
break
except:
print('please input a number')
print('You took ' + str(guess) +' tries')

为什么不把if块放在try-and-use continue 之外

import random
print('Hi, what is your name')
name=input()
print('Hi '+ name + ' I am thinking of a number, make a guess')
secret = random.randint(1,6)

for guess in range (1,7):
try:
number = int(input())
except ValueError:
print ("please input number")
continue
if number > secret:
print ('Your guess is too large')

elif number < secret:
print('Your guess is too small')

elif number == secret:
print("LOOOL Correct answer mind blowing")

您可以简单地使用while循环,并维护一个计数器,如果它是有效的猜测,则该计数器会递增。

counter = 0 #number of attempts
max_attempts = 6 #total number of attempts, you can change this 
while counter < max_attempts:
try:
guess = int(input())
except:
print("Please enter an integer")
continue
counter += 1 # valid guess therefore increments
# enter if statements here

最新更新