🐉龙行龘龘,成语接龙,祝您龙年大吉🎇

先祝大家新的一年:龙行龘龘,前程朤朤

龙年 当然要玩成语接龙啦!这是龙的传承与创新(话说龙辰辰真的好可爱哇)

成语接龙游戏规则:

  • 必须是成语;
  • 除了第一个,后面每次接龙的成语必须是前一个成语的最后一个字相同的拼音。

管你听没听懂,玩就完了!

1. 龙年主题界面

共有五个功能,设计的功能均与龙有关。

2. 龙腾虎跃--开始游戏

龙飞凤舞的逻辑代码如下:首先保证输入的必须是一个四字成语,且成语存在于我已经在网上下载好的一份成语文件中,如果输入正确,便由计算机开始第一个成语接龙,在guess函数中实现成语接龙的代码。

python 复制代码
        if choice == "1":
            word = input("请输入一个成语:")
            if word == "exit":
                print("欢迎下次再来玩成语接龙")
                break
            while word != "exit":
                word = word.strip()  # 去掉空格
                word = word.encode('utf-8').decode('utf-8')  # 转换为统一的编码
                if not is_chinese(word):  # 检查是否为汉字
                    print("请输入汉字。")
                    word = input("请输入一个成语:")
                    continue
                if word not in [i[0] for i in data]:  # 检查是否存在于数据中
                    print("没有这个成语,请重新输入。")
                    word = input("请输入一个成语:")
                    continue
                if len(word) != 4:  # 检查是否是四字成语
                    print("请输入四字成语。")
                    word = input("请输入一个成语:")
                    continue
                score += 1
                print("是一个正确的成语呢,您真棒,分数加一")
                result = guess(word)
                print(result)
                print("*****请继续操作*****")
                print("1. 继续玩")
                print("2. 不玩了")
                choice1 = input("请输入您的选择:")
                if choice1 == '1':
                    word = input("请输入一个成语:")
                else:
                    print("下次再来哦")
                    break

guess函数代码如下:

首先由get_all_starts_with函数根据一个汉字的拼音,从数据中找出所有以该拼音开头的成语,并返回一个列表作为所有匹配的成语,当列表不为空的时候,在列表中随机选择一个成语返回即可,当列表为空时,就返回"没有找到以你输入成语开头的成语,请换一个成语试试",也就是输了的意思,但是为了保证提升您使用成语能力,到目前为止,游戏并不会结束,当你换了一个成语输入时,就会进行下一轮判断。

ini 复制代码
def guess(word):
    all_data_matched = get_all_starts_with(word)
    if all_data_matched:  # 如果列表不为空
        result_data = format_data(get_random_result(all_data_matched))
        return result_data
    else:  # 如果列表为空
        return "没有找到以%s开头的成语,请换一个成语试试。" % word[-1]

def get_all_starts_with(letter):
    """
    根据一个汉字的拼音,从数据中找出所以以该拼音开头的成语,并返回一个列表
    """
    result = []
    target_pinyin = lazy_pinyin(letter)
    target_pinyin_first = target_pinyin[-1]  # 成功获取目标字的最后一个字的拼音
    for i in data:
        data_word = i[0]
        data_pinyin = i[1]
        data_meaning = i[2]
        data_pinyin_first = data_pinyin[0]  # 获取数据中的成语的第一个字的拼音
        if data_pinyin_first == target_pinyin_first:  # 比较拼音是否相同
            result.append([data_word, data_meaning])
    return result

3. 龙马精神--查看成绩

代码初始化了一个score变量用来存储成语接龙的成绩,当查看成绩时,就输出此成绩即可。

4. 龙争虎斗--查看获得的奖项

"龙争虎斗"的代码如下,根据获得的成绩输出对应的获得的奖项。

bash 复制代码
        elif choice == '3':
            if score < 3:
                print("恭喜获得"望子成龙"--参与奖")
            elif score < 5:
                print("恭喜获得"龙腾虎跃"--优秀奖")
            elif score < 8:
                print("恭喜获得"龙马精神"--三等奖")
            elif score < 10:
                print("恭喜获得"龙争虎斗"--二等奖")
            elif score > 10:
                print("恭喜获得"龙飞凤舞"--一等奖")
            os.system("pause")

5. 龙潜凤采--查看所有成语

"龙潜风采"将之前从文件中获取的所有成语创建为一个DataFrame对象,打印整个DataFrame就可以输出所有成语,供游戏者学习,每次打印50个成语,学习完这些成语后,会询问游戏者是否继续学习,知道成语全部显示完毕。

ini 复制代码
        elif choice == '4':
            df = pd.DataFrame(data, columns=['成语', '拼音', '解释'])  # 创建一个DataFrame对象,指定列名
            # 分页显示 DataFrame
            rows_per_page = 50
            page = 1
            while True:
                # 计算要显示的行数
                start = (page - 1) * rows_per_page
                end = start + rows_per_page

                # 将 DataFrame 转换为字符串并输出
                print(df.iloc[start:end].to_string(index=False))

                # 询问用户是否继续查看下一页
                choice = input('查看下一页?(y/n) ')

                # 如果用户选择退出,则结束循环
                if choice.lower() == 'n':
                    break

                # 否则,显示下一页
                page += 1
            os.system("pause")

6. 龙凤呈祥--祝福语

祝您龙年吉祥,祥龙献瑞,瑞气盈门,门庭若市,市井传声,声名远扬,扬眉吐气,气宇轩昂,昂首阔步,步步高升,升官发财,财源广进,进退有度!

7. 龙驭上宾--退出游戏

当游戏者不想玩游戏的时候,便可以输入0退出游戏。

8. 絮絮叨

最近在学python,就写了一个这样的游戏锻炼一下,希望你喜欢。

github地址:github.com/lpdbz/Idiom...

相关推荐
卷无止境1 小时前
智能体开发环境ADE浅析,编程工具的下一次范式跃迁
后端·python
码事漫谈4 小时前
DeepSeek 这波操作很凶
后端
2601_962300815 小时前
机器学习贴士:使用Python编写MapReduce
hadoop·python·机器学习·mapreduce·数据处理
Bs_MoneyMagnet5 小时前
基于springboot+vue的医疗健康便民服务平台的设计与实现 源码+文档
java·vue.js·spring boot·后端·spring
xyz_CDragon5 小时前
GitHub上4个爆款AI开源Skill:拍照后不用P图,用Codex一键生成高级海报(附效果图+使用教程)
人工智能·python·github·codex·skill
weixin199701080166 小时前
[特殊字符]《跨境二手ERP对接Back Market:标准化API + 7~10工作日技术合规审核实录》(附Python源码)
开发语言·python·pandas
持敬chijing6 小时前
Python-数据类型-列表
开发语言·python·青少年编程
子兮曰6 小时前
Bun v1.4.1 深度解析:从 Zig 到 Rust,一场 11 天、64 个 AI 代理的语言迁徙
前端·后端·bun
笨鸟先飞的橘猫6 小时前
系统设计第十七天决策卡
学习·游戏
2601_962301017 小时前
Python环境搭建及PyCharm破解使用技巧
python·pycharm·环境搭建·避坑技巧·破解使用