You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python代码出现SyntaxError报错,如何修复第22行输入语句问题?

问题修复方案

错误原因分析

第22行的input()调用中,f-string语法使用错误。你试图用逗号分隔字符串和变量,但f-string要求直接在字符串内部用{变量名}的形式嵌入变量,不需要额外的逗号参数。此外代码还缺少random模块的导入语句,运行时会触发NameError。

修复后的完整代码

import random  # 补充导入random模块

# 调整第一个输入的换行,避免多余空行
lowestNumber = int(input("What would you like your lowest number to be?"))
highestNumber = int(input("What would you like your highest number to be?"))

number = random.randint(lowestNumber, highestNumber)

tries = 0
while tries < 10:
    # 修正f-string语法,同时补充显示最高数值,让提示更完整
    guess = int(input(f'\nEnter a number between {lowestNumber} and {highestNumber}: '))
    if guess == number:
        print(f"You guessed correctly! The number was {number}")
        break
    elif guess < number:
        print("Too low!")
    elif guess > number:
        print("Too high!")
    tries += 1
# 可选:添加循环结束后的提示,当10次机会用完时告知正确答案
else:
    print(f"\nGame over! The number was {number}")

关键修复点

  • 添加import random:使用random.randint()必须先导入random模块,否则会触发未定义名称的错误。
  • 修正f-string语法:将错误的f'\nEnter a number between', lowestNumber改为f'\nEnter a number between {lowestNumber} and {highestNumber}: ',直接在f-string内部用{}嵌入变量,同时补充最高数值让用户明确猜数范围。
  • (可选)添加while-else块:当10次猜数机会用完仍未猜中时,自动显示正确答案,提升交互体验。

内容的提问来源于stack exchange,提问作者Lee Cavanagh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 21:25:24