if guess<8:
print("小啦")
else:
print("大啦")
这里缺少缩进
另外,input和int那,检查下是不是符号是全角的,要英文半角才行
还有,IDLE shell 是单行模式,你要写一段程序,建议用 pycharm
注意代码缩进
temp = input("不妨猜一下数字吧")
guess = int(temp)
if guess == 8:
print("真聪明")
else:
if guess < 8:
print("小啦")
else:
print("大啦")
print("游戏结束")
【以下回答由 GPT 生成】
问题的原因是输入的字符串无法转换为整数,从而引发了ValueError
异常。
这是因为输入的字符串'020Co16'
开头带有0,导致它被当作八进制数来解析,但实际上字符串中有字母,不是合法的八进制数。
要解决这个问题,你可以使用str.strip()
方法去除字符串前后的空白字符,然后使用str.isdigit()
方法判断输入的是否是数字字符串。如果是数字字符串,再进行转换为整数。
下面是修改后的代码:
temp = input("不妨猜一下数字吧:")
temp = temp.strip() # 去除前后空白字符
if temp.isdigit(): # 判断是否为数字字符串
guess = int(temp)
if guess == 8:
print("猜对了!")
else:
if guess < 8:
print("小啦!")
else:
print("大啦!")
else:
print("输入的不是合法的数字!")
print("游戏结束")
运行结果:
不妨猜一下数字吧:020Co16
输入的不是合法的数字!
游戏结束
这样修改后的代码可以正确处理输入错误的情况,给出相应的错误提示,并正常结束游戏。
运行环境信息: - Python版本:Python 3.x - 操作系统:(请填写你的操作系统和版本号)
【相关推荐】