华域联盟 perl perl写的一个随机编故事的程序(rand随机函数)

perl写的一个随机编故事的程序(rand随机函数)

复制代码 代码如下:

#!/bin/perl

use strict; 

use warnings; 

#定义变量 

my $count; 

my $input; 

my $number; 

my $sentence; 

my $story; 

#定义四个数组 

#定义了人物数组 

my @nouns= 



   'Dad', 

   'TV', 

   'Mom', 

   'Groucho', 

   'Rebecca', 

   'Harpo', 

   'Robin Hood', 

   'Joe and Moe', 

); 

#定义了动作数组 

my @verbs= 



   'ran to', 

   'giggled with', 

   'put hot sauce into the orange juice of', 

   'exploded', 

   'dissolved', 

   'dissolved', 

   'sang stupid songs with', 

   'jumped with', 

 ); 

 #定义了地点数组 

 my @prepositions= 

 ( 

     'at the store', 

     'over the rainbow', 

     'at the beach', 

     'before dinner', 

     'in New York City', 

     'in a dream', 

     'around the world', 

 ); 

 do  

 { 

    #每次运行以前,清空$story的内容 

    $story=''; 

    #以下是随机组合生成故事 

    for ($count =0;$count<6;$count++) 

    { 

       #我们划分一下结构,scalar @nouns 是获取@nouns数组元素的个数,然后用rand总这几个数中随机生成几个,最后int是将得到的数取整 

       $sentence =$nouns[int(rand(scalar @nouns))] 

       ." " 

       .$verbs[int(rand(scalar @verbs))] 

       ." " 

       .$nouns[int(rand(scalar @nouns))] 

       ." " 

       .$prepositions[int(rand(scalar @prepositions))] 

       .'.'; 

       $story .=$sentence; 

   } 

   print "\n",$story,"\n"; 

   print "\nType \"quit\"to quit, or press Enter to continue:"; 

   $input=<STDIN>; 



#这里是利用正则表达式来匹配首字符是q的字符串,如果有,那么就退出,/^是匹配起始位置,/i是不区分大小写 

until ($input=~/^\s*q/i); 

exit;


您可能感兴趣的文章:

本文由 华域联盟 原创撰写:华域联盟 » perl写的一个随机编故事的程序(rand随机函数)

转载请保留出处和原文链接:https://www.cnhackhy.com/77094.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部