perl 中一个随机编故事的程序(rand随机函数的应用举例)+好的程序本身就是注释

101 篇文章 7 订阅
52 篇文章 0 订阅
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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值