-
猜数字
2020-04-01 12:23:00这是我用python编得一个文字游戏:猜数字。 如有bug请见谅。 下面是源代码: import random secret=random.randint(0,100 ) print(‘现在我们要来玩一个猜数字的游戏,有10次机会,(有提示9次)范围是0-100。只能输入...猜数字
这是我用python编得一个文字游戏:猜数字。
如有bug请见谅。
下面是源代码:
import random
secret=random.randint(0,100 )print(‘现在我们要来玩一个猜数字的游戏,有10次机会,(有提示9次)范围是0-100。只能输入整数’)
print(‘如果你问我为什麽只有9次提示。我只能说:我不知道。’)
temp=input(‘请输入你猜的数字:’)
guess=int(temp)for i in range(1,10):
temp=input(‘你猜错了,再猜一次吧:’)
guess=int(temp)
if guess==secret:
print(‘猜对了!’)
elif guess<secret:
print(‘小了’)
elif guess>secret:
print(‘大了’)
print(’’’‘’’)
print(‘游戏结束’) -
汉得笔试猜数字题目生成器和运算
2019-03-31 11:08:42自己编写的用来生成汉得笔试题目,可以重复生成,附带有解题代码。 -
猜数字游戏(伪随机数对猜数字游戏的影响)
2020-10-18 19:23:57猜数字游戏的实现 由系统随机产生一个100内的数字,要求用户猜测这个整数。输入一个猜测想的整数,判断是否与产生的随机数相等,由屏幕显示判断结果。如果猜得不对,给出“大了”或“小了”的提示,直到猜出这个...猜数字游戏的实现
由系统随机产生一个100内的数字,要求用户猜测这个整数。输入一个猜测想的整数,判断是否与产生的随机数相等,由屏幕显示判断结果。如果猜得不对,给出“大了”或“小了”的提示,直到猜出这个数为止。
猜数字游戏的逻辑:
1.程序自动生成一个随机的1-100的整数。
2.用户来输入一个整数。
3.系统会根据输入情况来提示用户,是猜高了,还是低了,还是猜对了。首先,我们需要一个菜单来实现和用户的交互:
我们通过menu()这个函数来实现和用户的交互,函数的返回值为choice的值,输入1表示开始游戏,输入0表示退出游戏。
int menu() { printf("=============================\n"); printf(" 1. 开始游戏\n"); printf(" 0. 退出游戏\n"); printf("=============================\n"); printf(" 请输入您的选择: "); int choice = 0; scanf("%d", &choice); return choice; }
其次我们需要来完成这个游戏函数:
猜数字的逻辑:
1. 程序自动生成一个 1-100 的随机整数。
2. 从控制台读取用户的输入。
3. 比较用户输入的数字和系统生成的数字之间的关系,并给用户提示。
void game() { // 1. 程序自动生成一个 1-100 的随机整数. int toGuess = rand() % 100 + 1; while (1) { // 2. 从控制台读取用户的输入. printf("请输入要猜的数字: "); int input = 0; scanf("%d", &input); // 3. 比较用户输入的数字和系统生成的数字之间的关系, 并给用户提示. if (input < toGuess) { printf("低了!\n"); } else if (input > toGuess) { printf("高了!\n"); } else { printf("猜对了!\n"); break; } } }
下面我们在主函数中调用他们,实现猜数字游戏:
int main() { while (1) { // 调用菜单函数, 和用户进行交互 int choice = menu(); if (choice == 1) { game(); } else if (choice == 0) { printf("程序退出, 再见!\n"); break; } else { // 写程序得考虑到用户的非法输入的情况. printf("您的输入有误, 请重新输入!\n"); } } system("pause"); return 0; }
到此这个猜数字游戏已经基本实现,下面我们来测试一下:
我们可以看到三次进行游戏得到的结果是:第一次42,第二次68,第三次35。
退出程序,我们再来玩一次猜数字:
我们可以看出:得到的
第一个元素始终是42,第二个元素始终是68,第三个元素始终是35……
由此我们可以知道当前的猜数字游戏还是存在问题的,这个问题是什么呢?
经过多次重复运行程序后,得到的随机数序列是固定序列。
为什么会出现这个问题呢?
通过查阅一些资料了解到:
计算机不可能产生真正的随机数。在这里,我们使用的随机数是将随机数种子(srand函数介绍的参数)作为初始条件,经过一定的计算产生的。
这么说可能会有一点难以理解,我们来举个游戏中的例子:
比如LOL就有一套独立的伪随机机制,以25%暴击举例,如果蛮王第一刀没暴击,第二刀也没暴击,第三刀还是没暴击,那么第四刀暴击的几率就会大大的提升(不是25%),相信很多玩游戏的同学都会有这种体会,这里的暴击就是一个伪随机数。
那么怎么解决这个问题让伪随机变成真随机呢?
上面我们知道了:随机数是将随机数种子(srand函数介绍的参数)作为初始条件,经过一定的计算产生的。
随机数种子相同,得到的随机数序列就是相同的。
随机数种子不同,得到的随机数序列就是不同的。
所以,我们只需要设置不同的随机数种子就能解决这个问题,在这里我们使用时间(计算机中用整数表示时间)作为随机数种子.
使用srand(time(0))调整随机数种子。让我们运行两次,来看下代码的运行结果:
第一次
结果是27,66。
第二次
结果是44,85。
可以看出调整随机数种子后,随机数序列就不同了,猜数字游戏也就实现了。
完整的代码:
VS2013
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <time.h> int menu() { printf("=============================\n"); printf(" 1. 开始游戏\n"); printf(" 0. 退出游戏\n"); printf("=============================\n"); printf(" 请输入您的选择: "); int choice = 0; scanf("%d", &choice); return choice; } void game() { int toGuess = rand() % 100 + 1; while (1) { printf("请输入要猜的数字: "); int input = 0; scanf("%d", &input); if (input < toGuess) { printf("低了!\n"); } else if (input > toGuess) { printf("高了!\n"); } else { printf("猜对了!\n"); break; } } } int main() { srand(time(0)); while (1) { int choice = menu(); if (choice == 1) { game(); } else if (choice == 0) { printf("程序退出, 再见!\n"); break; } else { printf("您的输入有误, 请重新输入!\n"); } } system("pause"); return 0; }
-
让计算机猜数字
2018-12-02 16:00:58使用while及if语句,让计算机猜我们输入的数字,可以自己调整参数,让计算机猜得更快 -
猜数字游戏
2019-01-17 20:54:14题目:用代码模拟猜数字小游戏 思路: 1.首先需要产生一个随机数字,并且一旦产生不在变化。用Random的nextInt方法。 2.需要键盘输入,用到Scanner 3.获取键盘输入的数字,用Scanner当中的nextInt方法 4.已经得...Random类和Scanne类结合使用:
import java.util.Random; import java.util.Scanner; /* 题目:用代码模拟猜数字小游戏 思路: 1.首先需要产生一个随机数字,并且一旦产生不在变化。用Random的nextInt方法。 2.需要键盘输入,用到Scanner 3.获取键盘输入的数字,用Scanner当中的nextInt方法 4.已经得到了两个数字,判断(if) 如果大了,提示大了,重新输入; 如果小了,提示小了,重新输入; 如果猜对,游戏结束。 5.重试就是再来一次,循环次数不确定,用while(true)死循环。 */ public class RandomGame { public static void main(String[] args) { Random ran = new Random(); int randomNum = ran.nextInt(50) + 1; Scanner sca = new Scanner(System.in); //不限制次数猜数字 // while (true){ // System.out.println("请输入你猜测的数字:"); // int guessNum = sca.nextInt(); // // if (guessNum > randomNum) { // System.out.println("猜大了!请重新输入:"); // } else if (guessNum < randomNum) { // System.out.println("猜小了!请重新输入:"); // } else { // System.out.println("恭喜猜对!"); // break; // } // } //限制次数猜数字 for (int i = 0; i < 5; i++) { System.out.println("请输入你猜测的数字:"); int guessNum = sca.nextInt(); if (guessNum > randomNum) { System.out.println("猜大了!请重新输入:"); } else if (guessNum < randomNum) { System.out.println("猜小了!请重新输入:"); } else { System.out.println("恭喜猜对!"); // } } System.out.println("游戏结束!"); } }
-
xingtai -猜数字
2020-02-20 19:49:19# 猜数字游戏 # 电脑出一个1-100的数字,你猜一下看能不能猜中 # 1.电脑是不是得随机出一个和数字 import random comptuer = random.randint(1,100) # 数字 for i in range(20): # 2.我们进行猜数字 in put we ...# 猜数字游戏 # 电脑出一个1-100的数字,你猜一下看能不能猜中 # 1.电脑是不是得随机出一个和数字 import random comptuer = random.randint(1,100) # 数字 for i in range(20): # 2.我们进行猜数字 in put we = input("请输入作战编号") # 字符串 we = int(we) # 3。判断 if comptuer == we: print("您的战场是武汉") elif we>comptuer: print("你猜的大了") elif we<comptuer: print("你猜的小了")
-
猜数字游戏及自动解猜数字程序
2012-08-21 20:02:49实在无聊,于是写了一个猜数字游戏:随机生成一个[0, 99]之间的整数,如果猜得小了就显示 Too small,大了显示 Too big,否则显示 You are right。作为添头,前面会以英文序数词输出 The first time, The second ... -
python猜数字游戏_「酷叮课堂」--Python语言完成猜数字游戏
2020-12-07 08:53:13相信大家最近一定在网上得视频中看到过猜数字的游戏,那么大家现在也可以通过python来进行一个关于猜数字的小游戏。首先我们创建需要用到的变量,有随机生成的数字,有取值范围最大的数字,有取值范围最小的数字,... -
JavaScript猜数字
2012-04-12 17:57:13猜猜看 var num = Math.round(Math.random()*1000); var falg=true; var count=1; document.write(""); while(falg){ ... var inputnum=prompt("请输入您要猜得数字!",1); if(inputnum>num){ -
一个得手动结束的猜数字游戏
2018-08-23 14:46:31printf("请猜数字\n"); while (n) { printf("你有三次选择的机会\n"); scanf("%d", &in); if (num == in) { printf("恭喜你猜对了\n"); break; } else if (num > in) { printf("猜小了,... -
Java的猜数字游戏
2019-11-09 22:11:31猜数字游戏 Java语言中,对于初学者来说,也是可以写出猜数字这样的简单的游戏。 首先,我们应该想到游戏的玩法,能不能重复游戏,难度的选择,以及每次游戏中所猜的数字一定得是不同的;其次,要想到在Java中用方法... -
实现android的简单的猜数字
2014-06-10 19:55:18server端初始数字为-1,当client第一次猜数字的时候,随机生成一个1~100之间的数字,然后告诉client端猜得是大了,还是小了,还是猜对了. 用户可以根据返回的结果继续猜数字,再次猜数字的时候,Server端使用第一次... -
binrui -猜数字游戏
2020-03-03 21:25:56# 电脑出一个1-100的随机数字 # 我们出数字,让电脑来猜 import random pc = random.randint(0,100) ... we = input("来呀来呀,猜猜是几呀,猜得中我倒立洗头~") we = int(we) # 判断有没有猜中 if we == pc: ... -
猜数字小游戏Java代码
2020-02-12 15:59:40猜数字小游戏 规则:用户输入0-100其中一个数字,若猜得不正确就再试一次直至猜中为止,最后统计总共猜的次数。 实例代码 package one; import java.util.Random; import java.util.Scanner; public class ... -
C# 猜数字小游戏
2017-08-26 19:53:10猜数字游戏具体要求:随机产生一个每位数互不相同的四位数,让用户来猜。用户输入一个四位数,与之进行比较, 如果有一个数字位置均相同,得到一个A,如果数字相同但位置不同得到一个B。如果猜对,则输出猜中。如果... -
C语言课程设计——猜数字游戏
2015-05-26 23:15:09课程设计,应付做来玩的,功能基本实现猜数字,排名,猜到第几轮结束,应付的所以做得很基础,大家需要的可以下来完善:) -
Java猜数字游戏
2013-11-06 15:32:19写得比较不完善,但是是自己写得,作为初学者,这是我写得第一个java程序,希望各位大神可以多多指教。 -
C语言猜数字小游戏
2021-01-20 17:19:36C语言猜数字小游戏 简单的思路分析 首先,我们得有一个菜单栏。 下面是一个简易的菜单栏: 建立一个函数来放菜单。 void menu() { printf("*********\n"); printf("******* 1.play \n"); printf(" 0.exit \n"); ... -
A.2.3-猜数字游戏
2017-11-15 11:23:00ylbtech- .NET-Basic: A.2.3-猜数字游戏 ...//猜数字:让电脑随机出一个0~100之间得整数,用户循环来猜 //5次以内猜对,很棒 //5~10次猜对,一般 //10 次以上,差 1.A,源代码返回顶部 using System; namespac... -
C++项目参考——猜数字游戏
2013-11-16 15:52:54任务1——猜数字游戏 随机产生一个1000内的数字,要求用户猜测这个整数。输入一个猜测想的整数,判断是否与产生的随机数相等,由屏幕显示判断结果。如果猜得不对,给出“大了”或“小了”的提示,直到猜出这个数... -
猜数字游戏 (C#)
2009-09-13 09:36:56猜数字 猜数字 猜数字可以算是一种益智类小游戏,一般两个人玩,也可以由一个人和电脑玩,可以在纸上、在网上都可以玩。这种游戏规则简单,但可以考验人的严谨和耐心。 目录 1 规则 1.1 次数限制 1.2 ... -
用java实现猜数字小游戏
2018-02-24 14:21:30猜数字游戏,给定4个随机不重复数字,然后玩家去猜,每次只能看见两个数字结果,一个A表示正确位置上的数字数量,另一个B表示存在但不在正确位置上的数字数量,玩家根据这两个值去猜,直到猜对为止。 比如给定... -
xingtai - 电脑和电脑猜数字
2020-02-23 16:49:58# 猜数字游戏 # 电脑出一个1-100的数字,你猜一下看能不能猜中 # 1.电脑是不是得随机出一个和数字 # 1.优化:告诉我几次猜中数字 # 2.优化:告诉我猜的范围 import random score = [] for ii in range(100): a = 0 ... -
c语言程序猜数字游戏程序
2015-09-18 09:08:18printf("这是一个猜数字游戏!游戏开始时!\n"); srand(time(NULL)); while(true) { chones = 1 + rand() % limit; printf("这是一个猜数字游戏(范围1~20)\n"); for( unsigned int count = max ; ... -
小游戏——猜数字
2018-04-15 14:25:56比如玩一个猜数字的小游戏(通过二分查找方法),编程如下: #include<stdio.h> #include<windows.h> #include<time.h> void menu() { printf("******************... -
xinixn -用python写猜数字游戏
2019-12-08 19:49:49# 猜数字 # 电脑出一个0-100 的随机数 import random # 电脑出了一个数字 computer = random.randint(1,100) # 整数 int 12 # 我们得输入一个数字 for i in range(20): # 我们猜一个数字 we = input("你要猜什么... -
hdu 2178 猜数字
2018-09-14 11:09:31题目 由二分思想,尽量往右靠(每次取中间值加1为新的左边界 且 右边界不变), 以n=3为例:(((((1+m)/2)+1+m)/2)+1+m)/2=m 解得,m=7. 当n=n时,归纳易得, m=(2^n)-1....
-
用Go语言来写区块链(一)
-
MySQL 四类管理日志(详解及高阶配置)
-
Erlang及RabbitMq下载.rar
-
学习Reactredux-源码
-
基于声卡的CAPs阈值和调谐曲线的快速方法
-
MySQL 性能优化(思路拓展及实操)
-
LVS + Keepalived 实现 MySQL 负载均衡与高可用
-
jstack Dump 日志文件中的线程状态
-
牛牛量化策略交易
-
基于电商业务的全链路数据中台落地方案(全渠道、全环节、全流程)
-
数据分析师,岗位真相最全解析!
-
ik分词器安装后ElasticSearch闪退,和ik分词器安装遇到的问题
-
MySQL 备份与恢复详解(高低版本 迁移;不同字符集 相互转换;表
-
慕课学校云认证
-
MySQL 事务和锁
-
【HTML5&CSS3进阶学习02】Header的实现·CSS中的布局
-
华为1+X——网络系统建设与运维(中级)
-
分分钟甩 Word 几条街!用Python编辑公式竟可以如此简单
-
MySQL NDB Cluster 负载均衡和高可用集群
-
我为什么说,算法面试刷题很重要?