You need to enable JavaScript to run this app. Python水果猜词游戏开发问题:如何对比用户输入与随机水果的列表索引大小
优惠活动
大模型
产品
解决方案
定价
更多

Python水果猜词游戏开发问题:如何对比用户输入与随机水果的列表索引大小

猜词游戏代码问题修复

你提交的代码存在以下问题:

  • 调用方法错误:fruits是随机选中的水果字符串,不存在index属性,获取元素在列表中的索引需要使用列表名.index(目标元素)的写法
  • 比较逻辑错误:直接将用户输入的字符串和索引数值比大小,类型不匹配无法得到预期结果,需要先分别获取用户输入水果、目标水果在列表中的索引,再比较两个索引的大小
  • 输入逻辑错误:input语句写在while循环外面,只会执行一次,第一次猜错后会进入死循环,不会再接收用户新的输入
  • 分支逻辑错误:while循环的触发条件是guess != fruits,也就是只有猜错时才会进入循环体,写在循环内部的猜对判断分支永远不会被触发
  • 提示文案错误:猜对后的提示内容写的是“猜对了数字”,和猜水果的业务逻辑不符

修正后可运行的完整代码

import random

fruit = ["blueberry", "grape", "apple", "mango", "watermelon"]
# 随机生成目标水果的索引,方便后续直接比较
target_index = random.randint(0, len(fruit) - 1)
target_fruit = fruit[target_index]

while True:
    guess = input("请猜一个水果,可选范围:blueberry, grape, apple, mango, watermelon \n")
    # 校验输入是否在给定水果列表中,避免索引报错
    if guess not in fruit:
        print("你输入的水果不在可选范围内,请重新输入")
        continue
    guess_index = fruit.index(guess)
    if guess_index < target_index:
        print("-你猜的位置靠前了,再试试")
    elif guess_index > target_index:
        print("-你猜的位置靠后了,再试试")
    else:
        print("你猜对了水果!")
        break

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 08:33:04