当前位置: 首页 > news >正文

C语言和python中写一个猜数字小游戏(菜鸟分享)

在学习这些语法初期,可以学着写一些有趣的小东西来提升学习兴趣.

写一个随机数为1-100的猜数字小游戏.

一. 在C语言中: 使用while循环 / goto语句 和if条件语句来达成需求.

下面展示代码:

1.while语句方式

#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { srand((unsigned int)time(NULL)); //初始化随机数生成器(下面详细介绍) int num = rand() % 100 + 1; //rand()函数来创造随机值 int guess_num = 0; while (1) //如果输入的数字不符合要求,则进行无限循环 { printf("请输入一个数字:"); //提示输入数字 scanf("%d", &guess_num); if (guess_num == num) { printf("恭喜你,猜对了!\n"); //数字猜对了,break 跳出while循环 break; } else if (guess_num > num) { printf("你猜大了\n"); //猜大了,继续循环 } else { printf("你猜小了\n"); //猜小了,继续循环 } } return 0; }

(1).创造随机数:使用rand()函数,在这里,它创造的并不是真正的随机数,rand()生成的是伪随机数(范围是0-RAND_MAX)(RAND_MAX在大多数系统中是32767),序列由种子唯一决定(一般默认种子为1),如不做处理,那每次调用它得出的数字会是不变的.

故需使用srand()-函数初始化随机数生成器,上述默认情况下即srand(1),里面的1就是所谓的种子,种子改变会让随机值改变,若想让每次创造的随机值不同,必须让种子不断变化.

提到不断变化的量,我们常会想到时间(time),它时时刻刻在变化,于是这里我们采用time()函数来满足要求,此函数可以获得当前系统时间(从 1970 年 1 月 1 日 00:00:00 UTC 起的秒数)(规定)

(2).(unsigned int)time(NULL):

参数NULL表示不需要存储时间值,直接返回结果

(unsigned int) 强制类型转换:将time()返回的time_t类型值转换为unsigned int类型。

(3).至此,我们就可以得到一个随机数(在上方提到的范围内),数字太大不好猜.故将rand()%100

取余100使r值范围变成0~99,再+1使r值范围变成1~100.

(4).当n==r时,if语句中的break便可以跳出while循环,否则将继续循环直至猜对.

2.goto语句方式

#include<stdio.h> #include<stdlib.h> #include<time.h> int main() { srand((unsigned int)time(NULL)); int num = rand() % 100 + 1; int guess_num = 0; again: #goto跳回的位置 printf("请输入一个数字:"); scanf("%d", &guess_num); if (guess_num == num) { printf("你猜对了!\n"); } else if (guess_num > num) { printf("你猜大了\n"); goto again; #在下面两种猜错的情况下,goto跳回数字输入阶段来创造 } #循环 else { printf("你猜小了\n"); goto again; } return 0; }

创造随机数部分与上方相同,主要是goto语句的使用

注意:goto语句的使用不当可能会产生混乱等,需视情况适合使用.

二.python方式

import random #导入随机数模块,生成1~100的随机数 num = random.randint(1,100) flag = True guess_num = 0 while flag: #用bool变量控制循环,猜中后flag变成False guess_num = int(input("请输入一个数字:")) #退出循环 if guess_num == num: print("恭喜你,猜对了!") flag = False elif guess_num > num: #所有的if else语句都存在于while中,猜错会一直 print("你猜的数大了") #循环直至猜对结束 else : print("你猜的数小了")

1.random.randint(a,b) 是python内置random模块中的随机整数函数,会随机生成一个在a,b之间(包括a,b)的随机整数.

python在使用上较C语言更为简单,在此不多加赘述.

文章如有问题,还请佬们不吝赐教.

IT小白,在这里不断更新学习中的收获总结和困难反思.

http://www.jsqmd.com/news/457994/

相关文章:

  • PCB常见问题:从设计到生产的避坑指南
  • firewalld 防火墙
  • 【深度解析】金属管转子流量计:核心原理、应用场景与实践落地 - 速递信息
  • 2026重庆酒店投资律所推荐|五家顶尖律所深度解析 - 界川
  • 2026年专业深度测评:正品溯源燕窝排名前五与前十名权威榜单
  • 2026年正品溯源燕窝专业深度测评:排名前五信誉品牌权威发布
  • 三电平ANPC型逆变器仿真模型:60度坐标系下的中点平衡控制与SVPWM控制策略研究
  • 五个女博士富铁软糖:科学补铁兼顾吸收与温和体验 - 速递信息
  • 看2026江苏不错的发际线调整医院排行,有你心仪的吗?发际线种植/3D微针植发/微针植发,发际线调整医院哪家专业 - 品牌推荐师
  • 钉钉群秒变AI爬虫告警专家
  • 《大数据运维急诊室开张!聊聊我的5年踩坑史》从CDH到MRS:那些让我凌晨三点爬起来改配置的血泪教训
  • 2026年纸塑胶产品选购指南:行业趋势与优质厂商推荐 - 深度智识库
  • 2026最新云石胶品牌top5推荐!国内优质云石胶厂商权威榜单发布 - 十大品牌榜
  • 05AICoding-ClaudeCode整体架构与功能概览
  • 混凝土搅拌组态王6.55和三菱plc联机仿真程序新6,带opc通讯说明,不用plc实物
  • 2026最新喷胶厂商top5推荐!国内优质喷胶品牌权威榜单发布 - 十大品牌榜
  • 2026年标准气体稀释装置优质厂家盘点:聚焦技术实力、服务质量与市场口碑 - 品牌推荐大师
  • 知名量化私募招聘需求: C++/QR/QD(可看应届)一、C++开发:C++社招:量化同行、加密货币、外资 重点 外资中、或者处理过海外的 data开发、交易所连接的;C++校招:in
  • 2026年知名的PS吸塑泡壳厂家推荐:宁波薄片吸塑泡壳厂家专业度参考(精选) - 品牌宣传支持者
  • Solidity 合约高级应用 8| 简单字节码合约 (Simple Bytecode Contract)
  • 聊聊2026年中润科技,其防蚊贴和安睡贴产品靠谱吗 - 工业品网
  • AI学习(三)openclow启动(2)2026/03/05
  • openGauss数据库源码解析系列文章——存储引擎源码解析(一)
  • 2026年知名的吸塑泡壳品牌推荐:PP吸塑泡壳/PVC吸塑泡壳用户口碑认可参考(高评价) - 品牌宣传支持者
  • 2026年河南高性价比的面粉加工设备工厂好用吗,哪家比较靠谱 - 工业品牌热点
  • 山东钢格栅厂家口碑排行,推荐几家性价比高的 - 工业设备
  • 第三课 Hadoop 三大核心组件笔记
  • OpenClaw + Docker + MiniMax 本地养“龙虾”方案
  • 2026最新双组份中空玻璃胶厂家top5权威推荐!国内优质双组份中空玻璃胶权威厂商榜单发布 - 十大品牌榜
  • 用股票免费API快速搭建量化策略