|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
# This is a guess the number game.
import random
print('Hello. What is your name?')
name = input()
print('Well, ' + name + ',I am thinking a number between 1 and 20.')
secretNumber = random.randint(1,20)
# print('Debug: Secret number is ' + str(secretNumber))
for guessesTaken in range(1,7):
print('Take a guess.')
guess = int(input())
try:
if guess < secretNumber:
print('Your guess is too low.')
elif guess > secretNumber:
print('Your guess is too high.')
else:
break # This condition is for the correct guess!
except ValueError:
print('You did not enter a number.')
if guess == secretNumber:
print('Good job, ' + name + '! You guessed my number in ' +str(guessesTaken) +' guesses!')
else:
print('Nope. The number I was thinking of was ' + str(secretNumber))
这个报错是因为你 guess 那输入的是字符串 'ss' ,而 'ss' 在 try 捕获外,导致没有捕获到这个 ValueError
而且建议在循环之前对数值进行初始化,这样可以更安全的执行代码,参考代码:
- # This is a guess the number game.
- import random
- print('Hello. What is your name?')
- name = input()
- print('Well, ' + name + ',I am thinking a number between 1 and 20.')
- secretNumber = random.randint(1, 20)
- # print('Debug: Secret number is ' + str(secretNumber))
- guess = 0
- guessesTaken = 0
- for guessesTaken in range(1, 7):
- print('Take a guess.')
- try:
- guess = int(input())
- if guess < secretNumber:
- print('Your guess is too low.')
- elif guess > secretNumber:
- print('Your guess is too high.')
- else:
- break # This condition is for the correct guess!
- except ValueError:
- print('You did not enter a number.')
- if guess == secretNumber:
- print('Good job, ' + name + '! You guessed my number in ' + str(guessesTaken) + ' guesses!')
- else:
- print('Nope. The number I was thinking of was ' + str(secretNumber))
复制代码
|
|