当前位置 博文首页 > perl写的一个随机编故事的程序(rand随机函数)

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

    作者:admin 时间:2021-02-02 21:02

    复制代码 代码如下:

    #!/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;
    js