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

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

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

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

一、效果

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

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

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

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

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

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

二、如何实现目标

  1. 新建一个python程序
  2. 调用random库,为生成随机数据做装备
  3. 建立一个while循环,用变量on接收键盘输入值,输入Y就开始乱点鸳鸯谱生成随机七言绝句,输入N则退出程序。
  4. 生成各个韵调的七言诗句,然后拼合在一起,排序生成新的序列。
  5. 在多个韵调中随机抽取一个,第一、二、四句诗从这个系列中随机抽取。
  6. 每抽一句,则从序列中删除这一句,避免重复抽取。
  7. 四句合并,就形成了气死李杜的混搭七言绝句了。

三、主要代码

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

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(" 已乱点鸳鸯谱生成七言绝句如下,请欣赏: ")

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

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

temp.remove(str1)

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

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

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

temp.remove(str2)

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


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

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

temp.remove(str3)

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

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

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

temp.remove(str4)

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

print("-"*50)

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

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

break

else:

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


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

展开阅读全文

页面更新:2024-05-01

标签:乱点鸳鸯谱   绝句   泽国   阴山   淮南   枝梢   岁除   天山   青山   小游戏   游戏   古诗   诗句   落花   序列   程序

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top