原标题:Python小游戏:乱点鸳鸯谱生成七言绝句

好多天没写了,今天用Python玩一个乱点鸳鸯谱生成七言绝句的游戏。

其实这个想法有好久了,以前一直觉得好多古诗是可以乱入的。前一段时间想突击学习Python,妄想着编一个EVE的内置商业助手。正好学到了列表一章,看到教材中的练习题,就编写了这样一个游戏。

一、效果

直接把生成的一些“大作”发出来搏诸君一笑:

二、如何实现目标

新建一个python程序

调用random库,为生成随机数据做装备

建立一个while循环,用变量on接收键盘输入值,输入Y就开始乱点鸳鸯谱生成随机七言绝句,输入N则退出程序。

生成各个韵调的七言诗句,然后拼合在一起,排序生成新的序列。

在多个韵调中随机抽取一个,第一、二、四句诗从这个系列中随机抽取。

每抽一句,则从序列中删除这一句,避免重复抽取。

四句合并,就形成了气死李杜的混搭七言绝句了。

三、主要代码

#这是一个古诗乱点鸳鸯谱程序

import random as rd

print("================随机七言绝句生成器================")

while True:

#明确开关值

on=str(input("请输入Y开始生成随机七言绝句,输入N退出程序:"))

if on=="Y" or on=="y":

#生成各个韶母的诗句库

ang=['君去试看汾水上','征马长思青海上','绿树浓阴夏日长','满架蔷薇一院香','丁丁漏永夜何长','漫漫轻云漏月光'] #其他自己去加

an=['岐王府里寻常见','故园东望路漫漫','双袖龙钟泪不干','凭君寄语报平安','走马西来欲到天','辞家见月二回圆'] #其他自己去加

en=['落花时节又逢君','崔九堂前几度闻','正是江南好风景','半入江风半入云','锦城丝管日纷纷','人间哪得几回闻'] #其他自己去加

yi=['黄四娘家花满蹊','千朵万朵压枝低','自在娇莺恰恰啼','马上相逢无纸笔','残雪压枝犹有橘','东去长安万里余'] #其他自己去加

wu=['留连戏蝶时时舞','今夜不知何处宿','也知乡信日亦疏','为报家人数寄书','故人何惜一纸书','况复明朝是岁除'] #其他自己去加

ou=['此曲只应天上有','西原驿路挂城头','客散江亭雨未收','白云尤似汉时秋','羌笛何须怨杨柳','泽国江山入战图'] #其他自己去加

a=['梁园日暮乱飞鸦','极目萧条三两家','春来还发旧时花','别梦依依到谢家','犹为离人照落花','更深月色半人家'] #其他自己去加

o=['借问梅花何处落','愿将此身长报国','淮南木落楚山多','顾影无如白发何','愧君犹遣慎风波','野芳虽晚不须嗟','江上月明胡雁过'] #其他自己去加

ei=['葡桃美酒夜光杯','欲饮琵琶马上催','古来征战几人回','不知马骨伤寒水','碧窗斜月霭深晖','不知何路向金微'] #其他自己去加

e=['枯桐叶落枝梢折','海畔风吹冻泥裂','红旗直上天山雪','小廊回合曲阑斜','多情只有春庭月','北斗栏干南斗斜'] #其他自己去加

ao=['醉卧沙场君莫笑','三戌渔洋再度辽','骍弓在臂剑横腰','休傍阴山更射雕','花径不曾缘客扫','生涯岂料承优诏','今日龙钟人共老'] #其他自己去加

ai=['池塘倒影入楼台','同来玩月人何在','梦里分明见关塞','水碧沙明两岸苔','不胜清怨却飞来','青山霁后云犹在'] #其他自己去加

ong=['人面桃花相映红','去年今日此门中','桃花依旧笑春风','泊舟微径度深松','画出东南四五峰','溪上遥闻精舍钟'] #其他自己去加

temp=sorted(ang+an+en+yi+wu+ou+a+o+ei+e+ao+a+ong) #合并生成新序列

#挑选韶调,eval函数很强大的哦

index=['ang','an','en','yi','wu','ou','a','o','ei','e','ao','a','ong']

xxx=eval(index[rd.randint(0,len(index)-1)])

print("-"*50)

print("\n已乱点鸳鸯谱生成七言绝句如下,请欣赏:\n")

str1=xxx[rd.randint(0,len(xxx)-1)] #生成第一句诗

xxx.remove(str1) #从列表中删除第一句诗句

temp.remove(str1)

print(" "*10,str1,",\n")

str2=xxx[rd.randint(0,len(xxx)-1)] #生成第二句诗

xxx.remove(str2) #从列表中删除第二句诗句

temp.remove(str2)

print(" "*10,str2,"。\n")

str3=temp[rd.randint(0,len(temp)-1)] #生成第三句诗

if xxx.count(str3)>0:xxx.remove(str3) #从列表中删除第三句诗句

temp.remove(str3)

print(" "*10,str3,",\n")

str4=xxx[rd.randint(0,len(xxx)-1)] #生成第四句诗

xxx.remove(str4) #从列表中删除第四句诗句

temp.remove(str4)

print(" "*10,str4,"。\n")

print("-"*50)

elif on=="N" or on=="n":

print("退出程序!再见!")

break

else:

print("只能输入Y或者N,请重来!\n\n\n")

(好吧,无论网游戏也好,编程也好,生活也好,于我们来说其实都不过是一场游戏。洞悉世界的本质之后你会发现一切都不过是0与1的集合。)返回搜狐,查看更多

责任编辑:

python逢七拍手游戏_Python小游戏:乱点鸳鸯谱生成七言绝句相关推荐

  1. Python 逢七拍手小游戏

    # 逢七拍手小游戏""" 介绍:逢七拍手游戏的规则是:从1开始顺序数数,数到有7,或者是7的倍数时,就拍一手.例如:7.14.17......70......知识点:1. ...

  2. python逢七拍手游戏_不学Python迟早会被淘汰?Python真有这么好的前景?

    最近几年Python编程语言在国内引起不小的轰动,有超越Java之势,本来在美国这个编程语言就是最火的,应用的非常非常的广泛,而Python的整体语言难度来讲又比Java简单的很多.尤其是在运维的应用 ...

  3. python练手小游戏_Python小游戏练手EMS员工项目自学者练习

    Python小游戏练手EMS员工项目自学者练习 # 显示欢迎信息 from typing import Any, Union print('-' * 20, '欢迎使用员工管理系统', '-' * 2 ...

  4. python随机猜数字游戏_Python小游戏——猜数字教程(random库教程)

    今天来开发一个简单的数字逻辑游戏,猜数字(数字炸弹) 首先开发游戏第一件事,了解需求. 猜数字游戏规则: 计算机随机生成一个指定范围的数字,由玩家来猜测, 之后计算机会根据玩家提供数字来与自己生成的数 ...

  5. python求数列的积_python小游戏学习笔记4-2(列表【】,数列矩阵排列)

    x数值的单列写法: xlist = [1,2,3,4,5] for x in xlist: print(x) 关于len(长度)的用法:(结果为:5)(lens的作用就是把list 化为单个数字(内容 ...

  6. python剪刀石头布小游戏_python小游戏(剪刀石头布)

    - coding: utf8-- import random #导入随机数的模块 computer = random.choice(['石头', '剪刀', '布']) player = raw_in ...

  7. Python快速实现简易飞机大战小游戏

    参考:用python实现简单的飞机大战小游戏_化华桦的博客-CSDN博客_python飞机大战 敌机图片: 我方飞机: 子弹: 背景图: 主函数代码main.py: from PySide2 impo ...

  8. python井字棋_用Python做一个井字棋小游戏

    井字棋是一个经典的小游戏,在九宫格上玩家轮流画OXO,当每列或每行或是两个对角成一线时便是获胜. 今天就用Python编写一个井字棋小游戏,与电脑对战. 程序执行画面如下图所示: 程序提供了两种人工智 ...

  9. python游戏-零基础python教程-用Python设计你的第一个小游戏

    学以致用,今天给大家分享零基础Python设计你的第一个小游戏,既然要学习Python就要让它来实现我们想做的东西,这次咱就用Python来做个简单小游戏,在实践中不断成长.刚学习Python的小伙伴 ...

  10. Py之tkinter:python最简单的猜字小游戏带你进入python的GUI世界

    Py之tkinter:python最简单的猜字小游戏带你进入python的GUI世界 目录 输出结果 设计思路 输出结果 设计思路 from tkinter import * import tkint ...

最新文章

  1. 一分钟了解阿里云产品:高性能计算HPC
  2. Android string.xml 通配符 %$用法
  3. docker 端口映射 udp_Docker领路,走进压力测试的现代化 | 51上头条
  4. 为你的亚马逊S3 bucket加个安全盖
  5. 企业如何应对BT传输
  6. juniper防火墙(SSG and SRX)排障抓包命令
  7. AWS Amplify Console:赋予应用程序快速部署的能力
  8. js的字符串和变量拼接
  9. curl put方法 测试http_HTTP接口调试利器!4.8万Star的HTTP命令行客户端!
  10. MySql join on 和 where
  11. 性能测试之JMeter接口关联【JSON提取器】详解
  12. 如何在注解上拿到方法中的参数_想自己写框架?不会写Java注解可不行
  13. java随机一个数字和字母_java怎么实现随机4个带有数字和字母的验证码?
  14. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_9_JDK7和JDK9流中异常的处理...
  15. Linux编译后运行,OpenCV2.3.0编译后运行的问题
  16. 案例丨长江今年1号洪水平稳通过 金仓助力三峡工程防洪保电
  17. E4A 易安卓一些常见的小问题
  18. “人工智能发展现状”
  19. SpringBoot整合Thymeleaf+EasyExcel实现excel文件的读取并展示,附加swagger2配置(超详细示范!)
  20. scrolltop一直为0_「超级玛丽max2.0」「达尔文3号」「超级玛丽max3.0」,三军之战最全解析...

热门文章

  1. Typora 语法结构与功能
  2. php 调用reboot,Linux命令:reboot命令
  3. 《你的降落伞是什么颜色》书摘
  4. 小功率太阳能UPS锂电池传感器供电系统套件充电宝不间断电源 5V12V户外监控
  5. Walle和加固宝的优雅结合
  6. Guided Anchoring
  7. 程序员必备的 58 个学习网站
  8. ddr老化测试_老化测试标准
  9. 通过css为类生成器给文本字体加上书名号,
  10. 51单片机程序存储器和数据存…