【Python】猜单词游戏

关键技术——random模块

random.choice() 从序列中获取一个随机元素

列表、元素、字符串都属于序列

random.randrange([start],stop[,step])(开始,结束,步长)

用于从指定范围内按指定基数递增的集合中获取一个随机数。

难点:单词字母乱序

    while word:  #word不是空字符串
        # 根据word的长度产生word的随机位置
        position = random.randrange(len(word))
        # 将position位置的字母组合到乱序后单词
        jumble += word[position]
        # 通过切片将position位置的字母从原单词中删除
        word = word[:position] + word[(position+1):]
    print('乱序后的单词为:', jumble)

上代码

#猜单词游戏
import random

#创建单词序列
WORDS = ['python', 'shampoo', 'war', 'despair', 'distach', 'ultimate', 'apple', 'elegance', 'odds']

#开始游戏
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("真棒!你猜对啦!")
        iscontinue = input("n是否继续(Y/N):")
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然可以!Python猜单词游戏是一个经典的编程练习项目,通常用于教学或娱乐。它基于随机选择一个单词,玩家需要猜测这个单词的所有字母。游戏流程一般包括以下几个步骤: 1. **字典选择**:从一个预先定义的单词列表中随机选取一个单词作为目标。 2. **隐藏单词**:用星号(*)表示目标单词中的每个字母,未猜中的字母隐藏起来。 3. **用户输入**:玩家输入他们猜测的字母,程序检查这个字母是否在目标单词中。 4. **更新隐藏单词**:如果玩家猜对了,将正确的字母显示出来;如果猜错了,提示字母是否存在于单词中。 5. **循环直到猜对**:当玩家猜出所有字母后,游戏结束并显示结果。 要实现这个游戏,你可以使用Python的内置模块如random和string,以及一些基本的控制结构(如循环和条件语句)。 下面是一个简单的Python猜单词游戏的概述代码框架: ```python import random # 准备单词列表 word_list = ["apple", "banana", "cherry", ...] # 选择随机单词 target_word = random.choice(word_list) hidden_word = '*' * len(target_word) # 游戏循环 while True: guess = input("Guess a letter: ").lower() if guess in target_word: hidden_word = hidden_word.replace('*', guess, 1) # 替换正确位置的 * else: print(f"{guess} is not in the word.") # 检查是否猜出全部单词 if '*' not in hidden_word: print(f"Congratulations! You guessed the word: {hidden_word}") break ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值