python猜单词游戏的实现

 更新时间:2022年01月19日 10:00:15   作者:呆萌小朋友  
这篇文章主要介绍了python猜单词游戏的实现,从单词列表中随机选取一个单词,让玩家猜测,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

1.游戏思路和流程图

实现功能:随机一个单词让玩家猜测(后续难度实现修改为成语填空,成语必须要有提示,可修改猜的次数,增加连续猜成语,难度系数随着次数的增加而增加)

游戏流程图

2. 单词库和模块

import random
word='''and away big blue can come down find for funny go'''
word_list=word.split()

3. 游戏开始提示

def game_info():
    '''游戏开始提示函数'''
    print('欢迎来到猜单词')
    print('游戏提示:你有9次猜单词的机会,一次只能猜一个字母')

4. 重新开始游戏输入验证

def Double_choice(a,b,hint):
    '''双选择验证函数
    :param a 第一个选项值
    :param b 第二个选项值
    :param hint 选项信息
    :return 返回输入值'''
    choice=''
    while choice.lower() !=a and choice.lower() !=b:
        print(hint)
        choice=input()
    return choice

5. 用户输入验证

def letter_limited(letter,right_letter_list):
    '''字母输入约束条件
    :param letter 用户输入单词
    :param right_letter_list 用户猜中单词列表
    :return 返回 用户输入单词'''
    while True:
        if len(letter) !=1:
            print('请输入一个字母')
        elif letter in right_letter_list:
            print('这个字母猜过了,请重新猜一个字母')
        elif letter not in 'abcdefghijklmnopqrstuvwxyz':
            print('请输入英文字母')
        else:
            break
        letter=input()
    return letter.lower()

6. 猜词判断(游戏核心)

def word_handle(user_letter,guess_letter_list,right_letter_list):
    '''字母判断
    :param user_letter 用户输入字母
    :param guess_letter_list 需要猜测的字母列表
    :param right_letter_list 用户猜中的字母列表
    :return 返回用户猜中的字母列表'''
    for i in range(len(guess_letter_list)):
        if user_letter == guess_letter_list[i].lower():
            right_letter_list[i]=guess_letter_list[i]
    return right_letter_list

7. 游戏完成度提示

def game_content_hint(guess_letter_list):
    '''游戏界面函数'''
    print('单词完成度:%s'%' '.join(guess_letter_list))

8. 游戏核心外壳

def game_start():
    '''游戏开始函数'''
    guess_word=random.choice(word_list)
    guess_letter_list=list(guess_word) #猜单词的列表
    right_letter_list=['_'for i in guess_letter_list] #用户看见的单词列表
    count=9 #猜取的次数
    while count:
        game_content_hint(right_letter_list)
        print('猜单词中的字母(剩余机会%d)'%count)
        user_letter=letter_limited(input(),right_letter_list)
        # print(user_letter)
        right_letter_list=word_handle(user_letter,guess_letter_list,right_letter_list)
        # print(right_letter_list)
        if right_letter_list == guess_letter_list:
            break
        count -= 1
    if right_letter_list == guess_letter_list:
        print('恭喜你猜中了全部字母,这个单词是%s'%guess_word)
    else:
        print('你的机会用光了也没猜中,这个单词是%s' %(guess_word))

9. 游戏外壳(重新开始游戏)

def game_shell():
    '''外壳程序'''
    game_info()  # 游戏开始提示
    game_start()
    while True:
        message='你想在玩一次吗(Y or N)'
        again_flag=Double_choice('y','n',message)
        if again_flag=='n':
            break
        game_start()

10. 运行游戏

game_shell()

到此这篇关于python猜单词游戏的实现的文章就介绍到这了,更多相关python猜单词内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现时钟显示效果思路详解

    Python实现时钟显示效果思路详解

    这篇文章主要介绍了Python实现时钟显示,需要的朋友可以参考下
    2018-04-04
  • 使用pyecharts在jupyter notebook上绘图

    使用pyecharts在jupyter notebook上绘图

    这篇文章主要介绍了使用pyecharts在jupyter notebook上绘图,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-07-07
  • pytest解读fixtures之Teardown处理yield和addfinalizer方案

    pytest解读fixtures之Teardown处理yield和addfinalizer方案

    这篇文章主要为大家介绍了pytest解读fixtures之Teardown处理yield和addfinalizer的方案实例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Python中的Joblib库使用学习总结

    Python中的Joblib库使用学习总结

    这篇文章主要介绍了Python中的Joblib库使用学习总结,Joblib是一组在Python中提供轻量级流水线的工具,Joblib已被优化得很快速,很健壮了,特别是在大数据上,并对numpy数组进行了特定的优化,需要的朋友可以参考下
    2023-08-08
  • python操作gmail实例

    python操作gmail实例

    这篇文章主要介绍了python操作gmail的方法,实例分析了python针对gmail操作的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • Python教程通过公共键对不同字典进行排序示例详解

    Python教程通过公共键对不同字典进行排序示例详解

    本篇文章是Python教程基础篇,通过一些示例为大家讲解Python通过公共键对不同字典进行排序的方式,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-09-09
  • Python在图片中插入大量文字并且自动换行

    Python在图片中插入大量文字并且自动换行

    今天小编就为大家分享一篇关于Python在图片中插入大量文字并且自动换行,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • pandas pd.cut()与pd.qcut()的具体实现

    pandas pd.cut()与pd.qcut()的具体实现

    本文主要介绍了pandas pd.cut()与pd.qcut()的具体实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 教你如何利用python3爬虫爬取漫画岛-非人哉漫画

    教你如何利用python3爬虫爬取漫画岛-非人哉漫画

    本文给大家分享利用python3爬虫爬取漫画岛-非人哉漫画,本文通过实例代码给大家介绍的非常详细,需要的朋友跟随小编一起学习下吧
    2021-07-07
  • python如何操作mysql

    python如何操作mysql

    这篇文章主要介绍了python如何操作MySQL,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-08-08

最新评论