sxczcpf 发表于 2025-10-26 16:54:37

教材上输入Python程序不运行,不清楚问题在哪里?

#This is a guess the number game 这是一个猜数字游戏
import random
secretNumber = random.randint(1,20)#输入一个1-20的整数
print('I am thinking of a number between 1 and 20.')
#Ask the Player to guess 6 times.
for guessesTaken in range(1,7):
    print('Take a guess.')
   
    guess = input('请输入你的猜测:')
    if guess < secretNumber:
         print('Your guess is too low.')
    elif guess > secretNumber:
         print('Your guess is too high.')
    else:
      break # This condition is the correct guess!
if guess == secretNumber:
   print('Good job! You guessed my number in ' + str(guessesTaken) + ' guesses!')
else:
   print('Nope.The number I was thinking of was ' + str(secretNumber))

FishC 发表于 2025-10-26 16:55:17

你的程序无法运行是因为输入处理的问题。在Python中,input()函数返回的是字符串,而secretNumber是整数。在比较时,字符串和整数不能直接比较,会导致类型错误。

修复方法:将输入转换为整数,使用int()函数。

修复后的完整代码:


#This is a guess the number game 这是一个猜数字游戏
import random
secretNumber = random.randint(1,20)#输入一个1-20的整数
print('I am thinking of a number between 1 and 20.')
#Ask the Player to guess 6 times.
for guessesTaken in range(1,7):
    print('Take a guess.')
   
    guess = int(input('请输入你的猜测:'))# 添加int转换
    if guess < secretNumber:
         print('Your guess is too low.')
    elif guess > secretNumber:
         print('Your guess is too high.')
    else:
      break # This condition is the correct guess!
if guess == secretNumber:
   print('Good job! You guessed my number in ' + str(guessesTaken) + ' guesses!')
else:
   print('Nope.The number I was thinking of was ' + str(secretNumber))


如果输入非数字,程序会报错,建议在实际使用时添加异常处理。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

sxczcpf 发表于 2025-10-26 17:13:54

还是不行,走到这就不动了!没办法输入数字!

I am thinking of a number between 1 and 20.
Take a guess.
请输入你的猜测:

FishC 发表于 2025-10-26 17:14:58

sxczcpf 发表于 2025-10-26 17:13
还是不行,走到这就不动了!没办法输入数字!

I am ...

你的程序在输入时卡住,很可能是因为运行环境不支持交互式输入。许多在线编辑器或IDE在运行Python程序时无法处理input()函数的实时输入,导致程序看似“卡住”。

请尝试以下解决方案:

1. 在本地命令行或终端中运行程序:
   - 打开命令提示符(Windows)或终端(Mac/Linux)。
   - 使用cd命令导航到保存Python脚本的目录。
   - 运行命令:python 你的脚本名.py(确保Python已安装)。

2. 如果环境不支持中文输入,尝试将提示改为英文:
   - 将input('请输入你的猜测:')改为input('Take a guess: ')。

3. 确保代码已修复类型转换问题(输入必须转换为整数):


#This is a guess the number game 这是一个猜数字游戏
import random
secretNumber = random.randint(1,20)#输入一个1-20的整数
print('I am thinking of a number between 1 and 20.')
#Ask the Player to guess 6 times.
for guessesTaken in range(1,7):
    print('Take a guess.')
   
    guess = int(input('请输入你的猜测:'))# 关键修复:添加int()
    if guess < secretNumber:
         print('Your guess is too low.')
    elif guess > secretNumber:
         print('Your guess is too high.')
    else:
      break # This condition is the correct guess!
if guess == secretNumber:
   print('Good job! You guessed my number in ' + str(guessesTaken) + ' guesses!')
else:
   print('Nope.The number I was thinking of was ' + str(secretNumber))


如果问题依旧,请检查Python环境或尝试在支持交互输入的工具(如IDLE)中运行。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 教材上输入Python程序不运行,不清楚问题在哪里?