课后练习上的代码为什么在我的IDLE上不能执行
import randomtimes = 3
secret = random.randint(1,10)
print('------------------我爱鱼C工作室------------------')
# 这里先给guess赋值(赋一个绝对不等于secret的值)
guess = 0
# print()默认是打印完字符串会自动添加一个换行符,end=" "参数告诉print()用空格代替换行
# 嗯,小甲鱼觉得富有创意的你应该会尝试用 end="JJ"?
print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")
while (guess != secret) and (times > 0):
temp = input()
guess = int(temp)
times = times - 1 # 用户每输入一次,可用机会就-1
if guess == secret:
print("我草,你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没有奖励!")
else:
if guess > secret:
print("哥,大了大了~~~")
else:
print("嘿,小了,小了~~~")
if times > 0:
print("再试一次吧:", end=" ")
else:
print("机会用光咯T_T")
print("游戏结束,不玩啦^_^")
前辈们,帮帮忙
我也找不出原因,谢谢谢谢{:10_254:}
(这是零基础学python第四节的练习题)
本帖最后由 Twilight6 于 2020-8-1 21:48 编辑
因为你直接回车 输入了一个空字符串
但 int 函数是将其他类型的值转化为整数
而导致无法转化空格为整数报错,你输入纯数字字符即可解决问题
当到第五课你会学习字符串方法,到时候可以用字符串方法str.isdigit 函数来判断是否为纯数字字符串
到时候我们就可以避免这种情况的发生,用 isdigit 进行判断输入是否合法
页:
[1]