python逢七拍手游戏_Python小游戏:乱点鸳鸯谱生成七言绝句
原标题: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小游戏:乱点鸳鸯谱生成七言绝句相关推荐
- Python 逢七拍手小游戏
# 逢七拍手小游戏""" 介绍:逢七拍手游戏的规则是:从1开始顺序数数,数到有7,或者是7的倍数时,就拍一手.例如:7.14.17......70......知识点:1. ...
- python逢七拍手游戏_不学Python迟早会被淘汰?Python真有这么好的前景?
最近几年Python编程语言在国内引起不小的轰动,有超越Java之势,本来在美国这个编程语言就是最火的,应用的非常非常的广泛,而Python的整体语言难度来讲又比Java简单的很多.尤其是在运维的应用 ...
- python练手小游戏_Python小游戏练手EMS员工项目自学者练习
Python小游戏练手EMS员工项目自学者练习 # 显示欢迎信息 from typing import Any, Union print('-' * 20, '欢迎使用员工管理系统', '-' * 2 ...
- python随机猜数字游戏_Python小游戏——猜数字教程(random库教程)
今天来开发一个简单的数字逻辑游戏,猜数字(数字炸弹) 首先开发游戏第一件事,了解需求. 猜数字游戏规则: 计算机随机生成一个指定范围的数字,由玩家来猜测, 之后计算机会根据玩家提供数字来与自己生成的数 ...
- python求数列的积_python小游戏学习笔记4-2(列表【】,数列矩阵排列)
x数值的单列写法: xlist = [1,2,3,4,5] for x in xlist: print(x) 关于len(长度)的用法:(结果为:5)(lens的作用就是把list 化为单个数字(内容 ...
- python剪刀石头布小游戏_python小游戏(剪刀石头布)
- coding: utf8-- import random #导入随机数的模块 computer = random.choice(['石头', '剪刀', '布']) player = raw_in ...
- Python快速实现简易飞机大战小游戏
参考:用python实现简单的飞机大战小游戏_化华桦的博客-CSDN博客_python飞机大战 敌机图片: 我方飞机: 子弹: 背景图: 主函数代码main.py: from PySide2 impo ...
- python井字棋_用Python做一个井字棋小游戏
井字棋是一个经典的小游戏,在九宫格上玩家轮流画OXO,当每列或每行或是两个对角成一线时便是获胜. 今天就用Python编写一个井字棋小游戏,与电脑对战. 程序执行画面如下图所示: 程序提供了两种人工智 ...
- python游戏-零基础python教程-用Python设计你的第一个小游戏
学以致用,今天给大家分享零基础Python设计你的第一个小游戏,既然要学习Python就要让它来实现我们想做的东西,这次咱就用Python来做个简单小游戏,在实践中不断成长.刚学习Python的小伙伴 ...
- Py之tkinter:python最简单的猜字小游戏带你进入python的GUI世界
Py之tkinter:python最简单的猜字小游戏带你进入python的GUI世界 目录 输出结果 设计思路 输出结果 设计思路 from tkinter import * import tkint ...
最新文章
- 一分钟了解阿里云产品:高性能计算HPC
- Android string.xml 通配符 %$用法
- docker 端口映射 udp_Docker领路,走进压力测试的现代化 | 51上头条
- 为你的亚马逊S3 bucket加个安全盖
- 企业如何应对BT传输
- juniper防火墙(SSG and SRX)排障抓包命令
- AWS Amplify Console:赋予应用程序快速部署的能力
- js的字符串和变量拼接
- curl put方法 测试http_HTTP接口调试利器!4.8万Star的HTTP命令行客户端!
- MySql join on 和 where
- 性能测试之JMeter接口关联【JSON提取器】详解
- 如何在注解上拿到方法中的参数_想自己写框架?不会写Java注解可不行
- java随机一个数字和字母_java怎么实现随机4个带有数字和字母的验证码?
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_9_JDK7和JDK9流中异常的处理...
- Linux编译后运行,OpenCV2.3.0编译后运行的问题
- 案例丨长江今年1号洪水平稳通过 金仓助力三峡工程防洪保电
- E4A 易安卓一些常见的小问题
- “人工智能发展现状”
- SpringBoot整合Thymeleaf+EasyExcel实现excel文件的读取并展示,附加swagger2配置(超详细示范!)
- scrolltop一直为0_「超级玛丽max2.0」「达尔文3号」「超级玛丽max3.0」,三军之战最全解析...