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;
相关推荐
-
如何产生真正的随机函数?
//MSDN Randomize 为了生成某个范围内的随机整数,可使用以下公式:Int((upperbound - lowerbound + 1) * Rnd + lowerbound) 这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限. ---- 在VB中的随机函数是Rnd,但在使用的过程中发现,虽然程序启动后产生的数值是随机的,但对于每次重新启动,程序都会产生相同的随机数序列,应该怎样解决? ----VB中随机函数的原形是: Rnd(numbe
-
如何利用当前时间生成随机函数?
quote.asp <%Set MyFileObj = Server.CreateObject("Scripting.FileSystemObject")Set MyTextFile = MyFileObj.OpenTextFile("c:\quote.txt") ' 设置好路径.IF NOT MyTextFile.AtEndOfStream THENheader = CInt(MyTextFile.ReadLine) ' 读表头. END IFRANDOMI
-
php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
shuffle()定义和用法 shuffle() 函数把数组中的元素按随机顺序重新排列. 若成功,则返回 TRUE,否则返回 FALSE. 注释:本函数为数组中的单元赋予新的键名.这将删除原有的键名而不仅是重新排序. 注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现已被自动完成. 语法 shuffle(array) 参数 描述 array 必需.规定要使用的数组. 例子 复制代码 代码如下: <?php $my_array = a
-
sql server中随机函数NewID()和Rand()
在SQL Server中,随机函数有rand(),NewID(),其中rand是在0到1内随机取数,NewID则是生成随机的uniqueidentifier唯一标识符. SELECT * FROM Northwind..Orders ORDER BY NEWID() --随机排序 SELECT TOP 10 * FROM Northwind..Orders ORDER BY NEWID() --从Orders表中随机取出10条记录 示例 A.对变量使用 NEWID 函数 以下示例使用 NEWID
-
Oracle随机函数之dbms_random使用详解
dbms_random是oracle提供的一个随机函数包,以下介绍一些dbms_random的常用示例: dbms_random.value用法: 生成一个大于等于0,小于等于1的38位小数 复制代码 代码如下: -- FUNCTION value RETURN NUMBER; select dbms_random.value from dual; SQL> select dbms_random.value from dual; VALUE ---------- 0.61011338 复制代码
-
php中随机函数mt_rand()与rand()性能对比分析
本文实例对比分析了php中随机函数mt_rand()与rand()性能问题.分享给大家供大家参考.具体分析如下: 在php中mt_rand()和rand()函数都是可以随机生成一个纯数字的,他们都是需要我们设置好种子数据然后生成,那么mt_rand()和rand()那个性能会好一些呢,下面我们带着疑问来测试一下. 例子1. mt_rand() 范例,代码如下: 复制代码 代码如下: <?php echo mt_rand() . "n"; echo mt_rand() . &quo
-
详解C语言中rand函数的使用
前言 我们在编程实现算法的过程中,往往需要使用到随机数.由于计算机是一台以逻辑为基础的机器,没法做到真正的随机(大概量子计算机可以?).所以计算机生成的是伪随机数,供我们使用. 我们使用C语言的rand函数,生成的也是伪随机数. c语言之rand函数的使用 1.写入头文件 #include <stdlib.h> #include <stdio.h> #include <time.h> 2.变量的定义 void main( void ) { int i,k; 3.sran
-
python中随机函数random用法实例
本文实例讲述了python中随机函数random用法.分享给大家供大家参考.具体如下: python中的random模块功能非常强大,可以生成各种随机值 #! python # random import random print random.choice(['apple', 'pear', 'banana']) #从数组中随机选择一个元素 print random.sample(xrange(100), 10) # sampling without replacement print ran
-
perl写的一个随机编故事的程序(rand随机函数)
复制代码 代码如下: #!/bin/perluse strict; use warnings; #定义变量 my $count; my $input; my $number; my $sentence; my $story; #定义四个数组 #定义了人物数组 my @nouns= ( 'Dad', 'TV', 'Mom', 'Groucho', 'Rebecca', 'Harpo', 'Robin Hood', '
-
javascript写的一个模拟阅读小说的程序
复制代码 代码如下: <html> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <head> <title></title> <script type="text/javascript"> function Reader(content, cID, stopID, continue
-
python写一个随机点名软件的实例
最近有个随机点名软件的需求,故写了一个,上代码:github地址 # -*- coding: utf-8 -*- # @Time : 18-12-31 下午4:21 # @Author : Felix Wang from tkinter import * import tkinter.font as tkFont import random import gc import os, sys import chardet import copy from threading import Thre
-
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
一个适用性良好的组件,一种是可配置项很多,另一种就是容易覆写,从而扩展功能 Vue 组件的 API 来自三部分--prop.事件和插槽: prop 允许外部环境传递数据给组件 event 允许从组件内触发外部环境的副作用 slot 允许外部环境将额外的内容组合在组件中 prop 组件具有自身状态,当没有相关 porps 传入时,使用自身状态完成渲染和交互逻辑:当该组件被调用时,如果有相关 props 传入,那么将会交出控制权,由父组件控制其行为 仅一个值传入组件 如果该组件设计上支持双向绑定,可
-
用js写的一个路由(简单实例)
前几天在网上看了一个大牛用js写了一个路由的,有一句代码一直不知道怎么回事,后来就自己写了一个,写的比较的粗糙,我觉得把面向对象的思想都搞得乱七八糟的,不过功能实现了. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js实现路由</title> </head> <body> &l
-
用PHP写的一个冒泡排序法的函数简单实例
前几天遇到的一道关于算法的考题,要求用PHP语言实现对一个数组进行排序,我写了一个采用冒泡排序法的函数,和大家分享一下. <? //冒泡排序法 function bubble_sort($array) { $count = count($array); if($count <= 0) { return false; } for($i=0; $i<$count; $i++) { for($k=$count-1; $k>$i; $k--) { if($array[$k] < $a
-
使用C/C++语言生成一个随机迷宫游戏
迷宫相信大家都走过,毕竟书本啊啥啥啥的上面都会有迷宫,主要就是考验你的逻辑思维.那么我们学习C/C++也是需要学习到逻辑思维方式的,那今天我就来分享一下,如何用C/C++打造一个简单的随机迷宫游戏.(代码的话我只截取了如何创建迷宫的代码,如果想要全套代码的话可以加群:558502932,群内有很多C/C++学习资料提供学习,大家一起交流进步) 完整版的迷宫游戏效果如下: 代码如下: //创建迷宫 void CreateMaze(int x,int y) { //定义4个方向 int dir[4]
-
用JS写的一个Ajax库(实例代码)
myajax是一个用js编写的一个跨浏览器的ajax库,支持get, post, jsonp请求,精巧,简单. 一.发送GET请求: myajax.get({ <span style="white-space:pre"> </span>data: {}, //参数 url: "", //请求地址 //发生错误是调用 error: function(data) { }, //请求成功调用 success: function(data){ <
-
Python写的一个定时重跑获取数据库数据
做大数据的童鞋经常会写定时任务跑数据,由于任务之间的依赖(一般都是下游依赖上游的数据产出),所以经常会导致数据获取失败,因为很多人发现数据失败后 都会去查看日志,然后手动去执行自己的任务.下面我实现了一个自动重复执行去数据库取数,如果失败后自动重新去获取,直到把数据获取到. 建数据表: CREATE TABLE `testtable` ( 2 `id` int(11) unsigned NOT NULL AUTO_INCREMENT, 3 `name` varchar(20) NOT NULL,
-
javascript实现的一个随机点名功能
这个其实是对JS随机数的一个练习方式,先把所有人得名字预先写好在一个数组里,然后让数组里的值快速的显示在区域内,当你按停的时候滚动就会停止达到随机效果. <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>JS写的随机点名 - 琼台博客</title> <script type="text/javascript">
随机推荐
- [翻译] JW Media Player 中文文档第1/4页
- PowerShell小技巧之True和False的类型转换
- 用户"sa"登陆失败 SQLServer 错误18456的解决方法
- asp.net 取消缓存相关问题说明
- 在mysql数据库原有字段后增加新内容
- 简单说明Python中的装饰器的用法
- 深入探究Python中变量的拷贝和作用域问题
- Android实现支付宝6位密码输入界面
- 复制 Windows cmd 窗口命令行的信息方法
- Ajax的内部实现机制、原理与实践小结
- Git的使用规范流程总结
- springMVC+ajax实现文件上传且带进度条实例
- VBScript 打造自己的远程CMDShell附使用教程
- javascript 初学教程及五子棋小程序的简单实现
- jQuery实现个性翻牌效果导航菜单的方法
- 浅谈jquery采用attr修改form表单enctype不起作用的问题
- Java中对象初始化顺序的详细介绍
- JS delegate与live浅析
- Android实现几种推送方式解决方案
- Android折叠式Toolbar使用完全解析(CollapsingToolbarLayout)