鱼C论坛

 找回密码
 立即注册
查看: 39|回复: 3

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

[复制链接]
发表于 昨天 16:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#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))
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 昨天 16:55 | 显示全部楼层
你的程序无法运行是因为输入处理的问题。在Python中,input()函数返回的是字符串,而secretNumber是整数。在比较时,字符串和整数不能直接比较,会导致类型错误。

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

修复后的完整代码:


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


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 昨天 17:13 | 显示全部楼层
还是不行,走到这就不动了!没办法输入数字!

I am thinking of a number between 1 and 20.
Take a guess.
请输入你的猜测:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 昨天 17:14 | 显示全部楼层
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. 确保代码已修复类型转换问题(输入必须转换为整数):


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


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-27 00:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表