明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2209|回复: 18

[讨论] 命令行随机显示100首绝句的小程序,目前部分诗歌不显示,求完善

  [复制链接]
发表于 2020-2-26 13:41 | 显示全部楼层 |阅读模式
;;;;;程序思路,把改程序嵌入到其他程序中,执行命令时随机显示一首古诗,增加工作乐趣,随机数算法求改善
(defun c:JJ( );;;;;诗词大会

        (setq a (rtos (* (getvar "cdate") 1e8))
        b (ABS(- (atoi (substr a (strlen a)))100) )
  )
  (if (zerop b) (setq b 100))
(if (= b 1)   (princ "  \n春日 宋代:朱熹\n胜日寻芳泗水滨,无边光景一时新。\n等闲识得东风面,万紫千红总是春。\n"))
(if (= b 2)   (princ "  \n咏柳 唐代:贺知章\n碧玉妆成一树高,万条垂下绿丝绦。\n不知细叶谁裁出,二月春风似剪刀。\n"))
(if (= b 3)   (princ "  \n泊船瓜洲 宋代:王安石\n京口瓜洲一水间,钟山只隔数重山。\n春风又绿江南岸,明月何时照我还?\n"))
(if (= b 4)   (princ "  \n春雪 唐代:韩愈\n新年都未有芳华,二月初惊见草芽。\n白雪却嫌春色晚,故穿庭树作飞花。\n"))   
(if (= b 5)   (princ "  \n江南春 唐代:杜牧\n千里莺啼绿映红,水村山郭酒旗风。\n南朝四百八十寺,多少楼台烟雨中。\n"))
(if (= b 6)   (princ "  \n初春小雨 唐代:韩愈\n天街小雨润如酥,草色遥看近却无。\n最是一年春好处,绝胜烟柳满皇都。\n"))  
(if (= b 7)   (princ "  \n游园不值 宋代:叶绍翁\n应怜屐齿印苍苔,小扣柴扉久不开。\n春色满园关不住,一枝红杏出墙来。\n"))   
(if (= b 8)   (princ "  \n小池 宋代:杨万里\n泉眼无声惜细流,树阴照水爱晴柔。\n小荷才露尖尖角,早有蜻蜓立上头。\n"))   
(if (= b 9)   (princ "  \n晓出净慈寺送林子方 宋代:杨万里\n毕竟西湖六月中,风光不与四时同。\n接天莲叶无穷碧,映日荷花别样红。\n"))  
(if (= b 10)  (princ "  \n约客 宋代:赵师秀\n黄梅时节家家雨,青草池塘处处蛙。\n有约不来过夜半,闲敲棋子落灯花。\n"))   
(if (= b 11)  (princ "  \n山亭夏日 唐代:高骈\n绿树阴浓夏日长,楼台倒影入池塘。\n水晶帘动微风起,满架蔷薇一院香。\n"))   
(if (= b 12)  (princ "  \n秋词 唐代:刘禹锡\n自古逢秋悲寂寥,我言秋日胜春朝。\n晴空一鹤排云上,便引诗情到碧霄。\n"))   
(if (= b 13)  (princ "  \n秋夕 唐代:杜牧\n银烛秋光冷画屏,轻罗小扇扑流萤。\n天阶夜色凉如水,卧看牵牛织女星。\n"))   
(if (= b 14)  (princ "  \n秋思 唐代:张籍\n洛阳城里见秋风,欲作家书意万重。\n复恐匆匆说不尽,行人临发又开封。\n"))   
(if (= b 15)  (princ "  \n山行 唐代:杜牧\n远上寒山石径斜,白云深处有人家。\n停车坐爱枫林晚,霜叶红于二月花。\n"))   
(if (= b 16)  (princ "  \n枫桥夜泊 唐代:张继\n月落乌啼霜满天,江枫渔火对愁眠。\n姑苏城外寒山寺,夜半钟声到客船。\n"))   
(if (= b 17)  (princ "  \n峨眉山月歌 唐代:李白\n峨眉山月半轮秋,影入平羌江水流。\n夜发清溪向三峡,思君不见下渝州。\n"))   
(if (= b 18)  (princ "  \n秋夜曲 唐代:王维\n桂魄初生秋露微,轻罗已薄未更衣。\n银筝夜久殷勤弄,心怯空房不忍归。\n"))   
(if (= b 19)  (princ "  \n雪梅  宋代:卢梅坡\n梅雪争春未肯降,骚人搁笔费评章。\n梅须逊雪三分白,雪却输梅一段香。\n"))   
(if (= b 20)  (princ "  \n夜上受降城闻笛 唐代:李益\n回乐峰前沙似雪,受降城外月如霜。\n不知何处吹芦管,一夜征人尽望乡。\n"))  
(if (= b 21)  (princ "  \n对雪 唐代:高骈\n六出飞花入户时,坐看青竹变琼枝。\n如今好上高楼望,盖尽人间恶路岐。\n"))   
(if (= b 22)  (princ "  \n稚子弄冰 宋代:杨万里\n稚子金盆脱晓冰,彩丝穿取当银铮。\n敲成玉磬穿林响,忽作玻璃碎地声。\n"))
(if (= b 23)  (princ "  \n采莲曲 唐代:白居易\n菱叶萦波荷飐风,荷花深处小船通。\n逢郎欲语低头笑,碧玉搔头落水中。\n"))  
(if (= b 24)  (princ "  \n暮秋独游曲江 唐代:李商隐\n荷叶生时春恨生,荷叶枯时秋恨成。\n深知身在情长在,怅望江头江水声。\n"))   
(if (= b 25)  (princ "  \n寄人 唐代:张泌\n别梦依依到谢家,小廊回合曲阑斜。\n多情只有春庭月,犹为离人照落花。\n"))   
(if (= b 26)  (princ "  \n写情 唐代:李益\n水纹珍簟思悠悠,千里佳期一夕休。\n从此无心爱良夜,任他明月下西楼。\n"))   
(if (= b 27)  (princ "  \n赠去婢 唐代:崔郊\n公子王孙逐后尘,绿珠垂泪滴罗巾。\n侯门一入深如海,从此萧郎是路人。\n"))   
(if (= b 28)  (princ "  \n闻王昌龄左迁龙标遥有此寄 唐代:李白\n杨花落尽子规啼,闻道龙标过五溪。\n我寄愁心与明月,随风直到夜郎西。\n")) (if (= b 29)  (princ "  \n回乡偶书  唐代:贺知章\n少小离家老大回,乡音无改鬓毛衰。\n儿童相见不相识,笑问客从何处来。\n"))   
(if (= b 30)  (princ "  \n春夜洛城闻笛 唐代:李白\n谁家玉笛暗飞声,散入春风满洛城。\n此夜曲中闻折柳,何人不起故园情。\n"))   
(if (= b 31)  (princ "  \n逢入京使 唐代:岑参\n故园东望路漫漫,双袖龙钟泪不干。\n马上相逢无纸笔,凭君传语报平安。\n"))   
(if (= b 32)  (princ "  \n除夜作  唐代:高适\n旅馆寒灯独不眠,客心何事转凄然。\n故乡今夜思千里,霜鬓明朝又一年。\n"))
(if (= b 33)  (princ "  \n芙蓉楼送辛渐 唐代:王昌龄\n寒雨连江夜入吴,平明送客楚山孤。\n洛阳亲友如相问,一片冰心在玉壶。\n"))  
(if (= b 34)  (princ "  \n黄鹤楼送孟浩然之广陵 唐代:李白\n故人西辞黄鹤楼,烟花三月下扬州。\n孤帆远影碧空尽,唯见长江天际流。\n"))  
(if (= b 35)  (princ "  \n赠汪伦 唐代:李白\n李白乘舟将欲行,忽闻岸上踏歌声。\n桃花潭水深千尺,不及汪伦送我情。\n"))  
(if (= b 36)  (princ "  \n渭城曲 唐代:王维\n渭城朝雨浥轻尘,客舍青青柳色新。\n劝君更尽一杯酒,西出阳关无故人。\n"))
(if (= b 37)  (princ "  \n送柴侍御 唐代:王昌龄\n沅水通波接武冈,送君不觉有离伤。\n青山一道同云雨,明月何曾是两乡。\n"))
(if (= b 38)  (princ "  \n示儿 宋代:陆游\n死去元知万事空,但悲不见九州同。\n王师北定中原日,家祭无忘告乃翁。\n"))   
(if (= b 39)  (princ "  \n十一月四日风雨大作 宋代:陆游\n僵卧孤村不自哀,尚思为国戍轮台。\n夜阑卧听风吹雨,铁马冰河入梦来。\n"))   
(if (= b 40)  (princ "  \n泊秦淮 唐代:杜牧\n烟笼寒水月笼沙,夜泊秦淮近酒家。\n商女不知亡国恨,隔江犹唱《后庭花》。\n"))
(if (= b 41)  (princ "  \n秋夜将晓出篱门迎凉有感 宋代:陆游\n三万里河东入海,五千仞岳上摩天。\n遗民泪尽胡尘里,南望王师又一年。\n"))
(if (= b 42)  (princ "  \n南园  唐代:李贺\n男儿何不带吴钩,收取关山五十州。\n请君暂上凌烟阁,若个书生万户侯?\n"))   
(if (= b 43)  (princ "  \n扬子江 宋代:文天祥\n几日随风北海游,回从扬子大江头。\n臣心一片磁针石,不指南方不肯休。\n"))   
(if (= b 44)  (princ "  \n凉州词  唐代:王翰\n葡萄美酒夜光杯,欲饮琵琶马上催。\n醉卧沙场君莫笑,古来征战几人回?\n"))   
(if (= b 45)  (princ "  \n出塞  唐代:王昌龄\n秦时明月汉时关,万里长征人未还。\n但使龙城飞将在,不教胡马度阴山。\n"))   
(if (= b 46)  (princ "  \n凉州词  唐代:王之涣\n黄河远上白云间,一片孤城万仞山。\n羌笛何须怨杨柳,春风不度玉门关。\n"))  
(if (= b 47)  (princ "  \n从军行  唐代:李白\n百战沙场碎铁衣,城南已合数重围。\n突营射杀呼延将,独领残兵千骑归。\n"))   
(if (= b 48)  (princ "  \n从军行  唐代:王昌龄\n青海长云暗雪山,孤城遥望玉门关。\n黄沙百战穿金甲,不破楼兰终不还。\n"))  
(if (= b 49)  (princ "  \n陇西行  唐代:陈陶\n誓扫匈奴不顾身,五千貂锦丧胡尘。\n可怜无定河边骨,犹是春闺梦里人!\n"))
(if (= b 50)  (princ "  \n赤壁 唐代:杜牧\n折戟沉沙铁未销,自将磨洗认前朝。\n东风不与周郎便,铜雀春深锁二乔。\n"))  
(if (= b 51)  (princ "  \n乌衣巷 唐代:刘禹锡\n朱雀桥边野草花,乌衣巷口夕阳斜。\n旧时王谢堂前燕,飞入寻常百姓家。\n"))   
(if (= b 52)  (princ "  \n题乌江亭 唐代:杜牧\n胜败兵家事不期,包羞忍耻是男儿。\n江东子弟多才俊,卷土重来未可知。\n"))   
(if (= b 53)  (princ "  \n西施 唐代:罗隐\n家国兴亡自有时,吴人何苦怨西施。\n西施若解倾吴国,越国亡来又是谁。\n"))   
(if (= b 54)  (princ "  \n越中览古 唐代:李白\n越王勾践破吴归,义士还乡尽锦衣。\n宫女如花满春殿,只今惟有鹧鸪飞。\n"))
(if (= b 55)  (princ "  \n过华清宫  唐代:杜牧\n长安回望绣成堆,山顶千门次第开。\n一骑红尘妃子笑,无人知是荔枝来。\n"))   
(if (= b 56)  (princ "  \n冬夜读书示子聿 宋代:陆游\n古人学问无遗力,少壮工夫老始成。\n纸上得来终觉浅,绝知此事要躬行。\n"))  
(if (= b 57)  (princ "  \n劝学 唐代:颜真卿\n三更灯火五更鸡,正是男儿读书时。\n黑发不知勤学早,白首方悔读书迟。\n"))   
(if (= b 58)  (princ "  \n偶成 宋代:朱熹\n少年易老学难成,一寸光阴不可轻。\n未觉池塘春草梦,阶前梧叶已秋声。\n"))  
(if (= b 59)  (princ "  \n金缕衣 唐代:佚名\n劝君莫惜金缕衣,劝君惜取少年时。\n花开堪折直须折,莫待无花空折枝。\n"))  
(if (= b 60)  (princ "  \n白鹿洞  唐代:王贞白\n读书不觉已春深,一寸光阴一寸金。\n不是道人来引笑,周情孔思正追寻。\n"))  
(if (= b 61)  (princ "  \n登飞来峰 宋代:王安石\n飞来山上千寻塔,闻说鸡鸣见日升。\n不畏浮云遮望眼,只缘身在最高层。\n"))  
(if (= b 62)  (princ "  \n观书有感  宋代:朱熹\n半亩方塘一鉴开,天光云影共徘徊。\n问渠那得清如许?为有源头活水来。\n"))   
(if (= b 63)  (princ "  \n题西林壁 宋代:苏轼\n横看成岭侧成峰,远近高低各不同。\n不识庐山真面目,只缘身在此山中。\n"))   
(if (= b 64)  (princ "  \n城东早春 唐代:杨巨源\n诗家清景在新春,绿柳才黄半未匀。\n若待上林花似锦,出门俱是看花人。\n"))  
(if (= b 65)  (princ "  \n上堂开示颂 唐代:黄蘖禅师\n尘劳迥脱事非常,紧把绳头做一场。\n不经一番寒彻骨,怎得梅花扑鼻香。\n"))   
(if (= b 66)  (princ "  \n月夜 唐代:刘方平\n更深月色半人家,北斗阑干南斗斜。\n今夜偏知春气暖,虫声新透绿窗纱。\n"))   
(if (= b 67)  (princ "  \n乡村四月 宋代:翁卷\n绿遍山原白满川,子规声里雨如烟。\n乡村四月闲人少,才了蚕桑又插田。\n"))   
(if (= b 68)  (princ "  \n四时田园杂兴  宋代:范成大\n梅子金黄杏子肥,麦花雪白菜花稀。\n日长篱落无人过,惟有蜻蜓蛱蝶飞。\n"))   
(if (= b 69)  (princ "  \n雨过山村 唐代:王建\n雨里鸡鸣一两家,竹溪村路板桥斜。\n妇姑相唤浴蚕去,闲看中庭栀子花。\n"))   
(if (= b 70)  (princ "  \n清明 唐代:杜牧\n清明时节雨纷纷,路上行人欲断魂。\n借问酒家何处有,牧童遥指杏花村。\n"))  
(if (= b 71)  (princ "  \n九月九日忆山东兄弟 唐代:王维\n独在异乡为异客,每逢佳节倍思亲。\n遥知兄弟登高处,遍插茱萸少一人。\n"))
(if (= b 72)  (princ "  \n寒食 唐代:韩翃\n春城无处不飞花,寒食东风御柳斜。\n日暮汉宫传蜡烛,轻烟散入五侯家。\n"))   
(if (= b 73)  (princ "  \n中秋月 宋代:晏殊\n十轮霜影转庭梧,此夕羁人独向隅。\n未必素娥无怅恨,玉蟾清冷桂花孤。\n"))   
(if (= b 74)  (princ "  \n天竺寺八月十五日夜桂子 唐代:皮日休\n玉颗珊珊下月轮,殿前拾得露华新。\n至今不会天中事,应是嫦娥掷与人。\n"))
(if (= b 75)  (princ "  \n清明 宋代:黄庭坚\n佳节清明桃李笑,野田荒冢只生愁。\n雷惊天地龙蛇蛰,雨足郊原草木柔。\n"))   
(if (= b 76)  (princ "  \n和端午 宋代:张耒\n竞渡深悲千载冤,忠魂一去讵能还。\n国亡身殒今何有,只留离骚在世间。\n"))   
(if (= b 77)  (princ "  \n正月十五夜灯 唐代:张祜\n千门开锁万灯明,正月中旬动地京。\n三百内人连袖舞,一时天上著词声。\n"))   
(if (= b 78) (princ "  \n元日 宋代:王安石\n爆竹声中一岁除,春风送暖入屠苏。\n千门万户曈曈日,总把新桃换旧符。\n"))   
(if (= b 79)  (princ "  \n绝句 唐代:杜甫\n两个黄鹂鸣翠柳,一行白鹭上青天。\n窗含西岭千秋雪,门泊东吴万里船。\n"))   
(if (= b 80)  (princ "  \n望庐山瀑布 唐代:李白\n日照香炉生紫烟,遥看瀑布挂前川。\n飞流直下三千尺,疑是银河落九天。\n"))   
(if (= b 81)  (princ "  \n饮湖上初晴后雨  宋代:苏轼\n水光潋滟晴方好,山色空蒙雨亦奇。\n欲把西湖比西子,淡妆浓抹总相宜。\n"))   
(if (= b 82)  (princ "  \n望天门山 唐代:李白\n天门中断楚江开,碧水东流至此回。\n两岸青山相对出,孤帆一片日边来。\n"))   
(if (= b 83)  (princ "  \n江畔独步寻花  唐代:杜甫\n黄四娘家花满蹊,千朵万朵压枝低。\n留连戏蝶时时舞,自在娇莺恰恰啼。\n"))   
(if (= b 84)  (princ "  \n滁州西涧 唐代:韦应物\n独怜幽草涧边生,上有黄鹂深树鸣。\n春潮带雨晚来急,野渡无人舟自横。\n"))   
(if (= b 85)  (princ "  \n早发白帝城 唐代:李白\n朝辞白帝彩云间,千里江陵一日还。\n两岸猿声啼不住,轻舟已过万重山。\n"))   
(if (= b 86)  (princ "  \n题临安邸 宋代:林升\n山外青山楼外楼,西湖歌舞几时休?\n暖风熏得游人醉,直把杭州作汴州。\n"))   
(if (= b 87)  (princ "  \n暮江吟 唐代:白居易\n一道残阳铺水中,半江瑟瑟半江红。\n可怜九月初三夜,露似真珠月似弓。\n"))   
(if (= b 88)  (princ "  \n采莲曲 唐代:王昌龄\n荷叶罗裙一色裁,芙蓉向脸两边开。\n乱入池中看不见,闻歌始觉有人来。\n"))   
(if (= b 89)  (princ "  \n赠刘景文 宋代:苏轼\n荷尽已无擎雨盖,菊残犹有傲霜枝。\n一年好景君须记,最是橙黄橘绿时。\n"))   
(if (= b 90)  (princ "  \n古木阴中系短篷 宋代:志南\n古木阴中系短篷,杖藜扶我过桥东。\n沾衣欲湿杏花雨,吹面不寒杨柳风。\n"))   
(if (= b 91)  (princ "  \n春日 宋代:秦观\n一夕轻雷落万丝,霁光浮瓦碧参差。\n有情芍药含春泪,无力蔷薇卧晓枝。\n"))   
(if (= b 92)  (princ "  \n雨晴 唐代:王驾\n雨前初见花间蕊,雨后兼无叶里花。\n蛱蝶飞来过墙去,却疑春色在邻家。\n"))   
(if (= b 93)  (princ "  \n宿骆氏亭寄怀崔雍崔衮 唐代:李商隐\n竹坞无尘水槛清,相思迢递隔重城。\n秋阴不散霜飞晚,留得枯荷听雨声。\n"))   
(if (= b 94)  (princ "  \n剑门道中遇微雨 宋代:陆游\n衣上征尘杂酒痕,远游无处不销魂。\n此身合是诗人未?细雨骑驴入剑门。\n"))   
(if (= b 95)  (princ "  \n寒菊 宋代:郑思肖\n花开不并百花丛,独立疏篱趣未穷。\n宁可枝头抱香死,何曾吹落北风中。\n"))   
(if (= b 96)  (princ "  \n菊花 唐代:元稹\n秋丛绕舍似陶家,遍绕篱边日渐斜。\n不是花中偏爱菊,此花开尽更无花。\n"))   
(if (= b 97)  (princ "  \n江畔独步寻花  唐代:杜甫\n黄师塔前江水东,春光懒困倚微风。\n桃花一簇开无主,可爱深红爱浅红?\n"))   
(if (= b 98) (princ "  \n大林寺桃花 唐代:白居易\n人间四月芳菲尽,山寺桃花始盛开。\n长恨春归无觅处,不知转入此中来。\n"))   
(if (= b 90)  (princ "  \n紫薇花 唐代:杜牧\n晓迎秋露一枝新,不占园中最上春。\n桃李无言又何在,向风偏笑艳阳人。\n"))   
(if (= b 100)  (princ "  \n桃花 唐代:周朴\n桃花春色暖先开,明媚谁人不看来。\n可惜狂风吹落后,殷红片片点莓苔。\n"))   
(prin1)
)

评分

参与人数 2明经币 +2 收起 理由
tigcat + 1 很给力!
USER2128 + 1 赞一个!

查看全部评分

发表于 2020-2-29 09:50 | 显示全部楼层
把所有诗句弄到一个txt文件里调用最好了,这样维护方便,几千首诗歌都得。
回复 支持 1 反对 0

使用道具 举报

发表于 2020-2-26 16:27 | 显示全部楼层

要什么IF要什么cond,直接一个nth它不香吗?

(defun c:tt ()
        (setq shici '("诗句1" "诗句2" "诗句3" "诗句4" ……"诗句100"))
        (princ (nth(fix (rem (getvar "CPUTICKS")99))shici))       
)
回复 支持 1 反对 0

使用道具 举报

发表于 2020-2-26 13:54 | 显示全部楼层
你们真会玩
发表于 2020-2-26 14:31 | 显示全部楼层
一句if打天下
发表于 2020-2-26 14:50 | 显示全部楼层
不错,多加几千都可以了。
发表于 2020-2-26 15:04 | 显示全部楼层
不用IF就用COND
发表于 2020-2-26 15:16 | 显示全部楼层
把B改成(fix (* (* (rem (getvar "cputicks") 1e3) 1e-3) 100)),随机数一般都用CPUTICKS。
发表于 2020-2-26 15:18 | 显示全部楼层
A就不要了,白白多个变量
 楼主| 发表于 2020-2-26 16:41 | 显示全部楼层
谢谢烟盒迷唇、tryhi 老师的指导!
发表于 2020-2-26 20:57 | 显示全部楼层
这样是在CAD的命令行随机显示的唐诗,观看不方便,建议把所有的princ全部替换为alert,做成屏幕中央显示
看起来更好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-2 17:19 , Processed in 0.190417 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表