刚学Python真的不知道怎么办了,明明是一步步来的呀,谁来帮一下忙呀

img

img


刚学Python真的不知道怎么办了,明明是一步步来的呀,谁来帮一下忙呀

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 - 操作系统:(请填写你的操作系统和版本号)



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^