Dszyydsa 2023-02-22 20:44 采纳率: 75%
浏览 49
已结题

python猜单词游戏拓展

拓展一下代码,限制10次猜的次数,然后猜对一次得十分,猜错不得分。不能出现重复的单词。

# Word Jumble猜单词游戏
import random
#创建单词序列 
WORDS = ("python", "jumble", "easy", "difficult", "answer", "continue"
         , "phone", "position", "position", "game")
# start the game
print(
"""
     欢迎参加猜单词游戏 
   把字母组合成一个正确的单词.
"""
)
iscontinue="y"
while iscontinue=="y" or iscontinue=="Y":    
    # 从序列中随机挑出一个单词
    word = random.choice(WORDS)
    #一个用于判断玩家是否猜对的变量
    correct = word
    #创建乱序后单词
    jumble =""
    while word:     #word不是空串时循环
        #根据word长度,产生word的随机位置
        position = random.randrange(len(word))
        #将position位置字母组合到乱序后单词
        jumble += word[position]
        #通过切片,将position位置字母从原单词中删除
        word = word[:position] + word[(position + 1):]
    print("乱序后单词:", jumble)

    guess = input("\n请你猜: ")
    while guess != correct and guess != "":
        print("对不起不正确.")
        guess = input("继续猜: ")

    if guess == correct:
        print("真棒,你猜对了!\n")
        iscontinue=input("\n\n是否继续(Y/N):")

```python


```

  • 写回答

2条回答 默认 最新

  • 傻傻的心动 2023-02-22 23:28
    关注

    下面是一个简单的 Python 代码,实现了一个猜单词游戏。该游戏从一个事先定义好的单词列表中随机选出一个单词,并要求玩家猜测这个单词。玩家最多可以猜 10 次,每猜一次扣除一次机会。如果猜对了,得到 10 分。如果猜错了,不得分。为了避免重复猜测同一个单词,每次游戏时将已猜过的单词从列表中删除。

    import random
    
    
    
    # 定义单词列表
    
    word_list = ['apple', 'banana', 'cherry', 'date', 'elderberry', 'fig']
    
    # 选择一个随机单词
    word = random.choice(word_list)
    
    # 记录已经猜过的单词
    guessed_words = []
    
    # 猜测单词
    for i in range(10):
        guess = input('请猜一个单词:')
        if guess == word:
            print('恭喜你,猜对了!得到 10 分!')
            break
        else:
            print('猜错了,再试一次。')
            guessed_words.append(guess)
        if i == 9:
            print('很遗憾,你没有猜对。')
    
        # 删除已经猜过的单词
        for w in guessed_words:
            if w in word_list:
                word_list.remove(w)
    

    代码中,我们首先定义了一个单词列表 word_list,然后使用 random.choice() 函数从列表中随机选择一个单词。接下来,我们开始猜测这个单词,最多可以猜测 10 次。如果猜对了,就打印恭喜消息,并退出循环。如果猜错了,就提示再试一次,并把已经猜过的单词添加到 guessed_words 列表中。如果循环次数达到了 10 次,就输出很遗憾的消息。

    为了避免重复猜测同一个单词,我们在每次循环中都检查已经猜过的单词列表 guessed_words,并将其中已经出现过的单词从单词列表 word_list 中删除。这样,下一轮猜测时就不会再出现已经猜过的单词了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月30日
  • 已采纳回答 3月22日
  • 创建了问题 2月22日

悬赏问题

  • ¥15 目详情-五一模拟赛详情页
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b