python第一个小游戏 + 随机数random模块

news/2025/2/7 21:55:44/文章来源:https://www.cnblogs.com/kyle-7Qc/p/18703353

小游戏:猜数字

  • 简易版
for i in range(3):temp = eval(input("猜一下我想的数字:"))if temp == 7:print("niubi")print("游戏结束")breakelse:a = 2-iprint("还有",a,"次机会")if a == 0:print("游戏结束")
  • 升级一: 增加提示性语句
for i in range(10):a = 9 - itemp = eval(input("猜一下我想的数字:"))if temp == 7:print("niubi")print("游戏结束")breakelif temp > 7:print("大了")print("还有",a,"次机会")if a == 0:print("游戏结束")elif temp < 7:print("小了")print("还有",a,"次机会")if a == 0:print("游戏结束")
  • 升级二: 随机数字
    • 引入模块 random
import random
j = random.randint(1, 100)
for i in range(10):a = 9 - itemp = eval(input("猜一下我想的数字:"))if temp == j:print("niubi")print("游戏结束")breakelif temp > j:print("大了")print("还有",a,"次机会")if a == 0:print("游戏结束")elif temp < j:print("小了")print("还有",a,"次机会")if a == 0:print(j)print("游戏结束")

模块 random介绍

Python 提供了生成随机数的功能,主要通过内置的 random 模块来实现。以下是一些常用的生成随机数的方法:

  1. random.random():生成一个[0.0, 1.0)区间内的随机浮点数。

    import random
    print(random.random())
    
  2. random.uniform(a, b):生成一个在指定范围 [a, b] 内的随机浮点数。

    print(random.uniform(1.0, 10.0))
    
  3. random.randint(a, b):生成一个在指定范围 [a, b] 内的随机整数。

    print(random.randint(1, 10))
    
  4. random.randrange(start, stop[, step]):从指定范围内按照指定步长返回一个随机数。

    print(random.randrange(1, 10, 2))  # 从1到9之间返回一个奇数
    
  5. random.choice(seq):从序列(如列表、元组等)中随机选择一个元素。

    print(random.choice([1, 2, 3, 4, 5]))
    
  6. random.shuffle(x[, random]):将序列x中的元素随机打乱。

    numbers = [1, 2, 3, 4, 5]
    random.shuffle(numbers)
    print(numbers)
    
  7. random.sample(population, k):从指定的population中返回一个长度为k的随机样本列表。

    print(random.sample(range(1, 10), 3))  # 从1到9中随机抽取3个数字
    

在使用这些函数之前,确保你已经导入了 random 模块。如果你需要在多个函数调用间保持随机数生成的“随机性”一致,可以使用 random.seed() 函数设置随机数生成器的种子。

random.seed(1)  # 设置随机数生成器的种子为1
print(random.random())

这样,每次运行程序时,生成的随机数序列将是一样的,这在测试和调试时非常有用。

while 循环改编

  • while 循环回顾
i = 0
while i <= 10:#i+=1       位置在前在后结果不同print(i)#i+=1
  • 改编一:基础版
import random
temp = eval(input("num:"))
i = random.randint(1,100)
j = 0
while temp != i:if temp > i:print("大了")else:print("小了")a = 9-jprint("还有",a,"次机会")j += 1if a == 0:print("失败")breaktemp = eval(input("num:"))if temp == i:print("niubi")
  • 改编二:编程思想改变
import random
secret = random.randint(1,10)
temp = input("现在心里想的是哪个数字:")
guess = int (temp)
times=1
while (guess != secret) and (times < 3):if guess > secret:print("大了")else:print("小了")temp= input ("请再试试吧:")guess = int (temp)times = times+ 1
if (times <= 3) and (guess == secret):print("good")
else:print("defeat")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/880246.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P3405 [USACO16DEC] Cities and States S(哈希算法)

总的来说这是一道简单的哈希算法,由于是字符串,所以哈希编码时只用乘26就行了

虚拟化技术介绍

一、虚拟化技术简介 虚拟化(Virtualization)的含义很广泛。将任何一种形式的资源抽象成另一种形式的技术都是虚拟化,是资源的一种逻辑表示。解除了物理硬件和操作系统之间的紧耦合关系。虚拟化是云计算的基础。简单地说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚…

地平线 3D 目标检测 Bevformer 参考算法 V2.0

该示例为参考算法,仅作为在 征程 6 上模型部署的设计参考,非量产算法 简介 BEVFormer 是当前热门的自动驾驶系统中的 3D 视觉感知任务模型。BEVFormer 是一个端到端的框架,BEVFormer 可以直接从原始图像数据生成 BEV 特征,无需依赖于传统的图像处理流程。它通过利用 Transf…

.NET周刊【1月第3期 2025-01-19】

国内文章 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(一):从.NET IoT入门开始 https://www.cnblogs.com/GreenShade/p/18667671 文章介绍了一款基于树莓派Zero 2W和.NET技术的智能桌面机器人。作者因对该项目的兴趣与网友需求而进行开发。产品结…

AUTOSAR 学习笔记

AUTOSAR 学习笔记 概述 ​ 本文章为0基础小白记录AUTOSAR学习笔记。如有错误,欢迎评论区指正。个人笔记模式习惯采用提问式记录,也是这篇文章的主要记录模式。 补充,大篇幅文章推荐: 《AutoSAR入门到精通系列讲解》作者:雪云飞星 https://blog.csdn.net/xyfx_fhw/category…

Win11环境下安装Oracle Databases 11g 遇到[INS-13001]环境不满足最低要求解决办法

找到你解压后的文件,点击打开database文件夹 -->stage文件夹 -->cvu文件夹 -->cvu_prereq.xml文件,用记事本打开cvu_prereq.xml文件; 在这个<CERTIFIED_SYSTEMS>。。。</CERTIFIED_SYSTEMS>语句之间增加如下代码: ...... <CERTIFIED_SYSTEMS> &…

Zookeeper入门api与应用

一、 说明 Zookeeper作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态变化。通过监控这些数据状态…

马走日(结论题)

这道题本质上,是一道结论题,结论如下: 1.小尺寸处理: 如果点阵的行或列有一个为1,则马无法移动,只能留在起点,此时答案为1。 如果点阵的最小边为2,则马只能沿着较长的边移动,每次移动步长为2,此时答案为较长边的一半加1。 2.中等尺寸处理: 当点阵为3x3时,马无法到达…

[lnsyoj1158] 淘淘蓝蓝之幻影树

dp题意sol 若某一方胜利,则设该方战胜的区间为 \([l_i,r_i]\),那么过程可描述为 \(1\) 打败 \([l_1,r_1]\),\(2\) 打败 \(l_2,r_2\)…………\(k\) 打败 \([l_k,r_k]\)。显然,\(k\) 打败 \([l_k,r_k]\)…………\(2\) 打败 \(l_2,r_2\),\(1\) 打败 \([l_1,r_1]\) 与之等价,…

NAS——强化学习结合CNN

一. 子模型的基本架构子模型由N个卷积单元和M个缩减单元按一定规则排列后加上GAP层、FC层和Softmax层组成。关键:通过引入卷积单元和缩减单元,充分发挥了CNN模型强大的特征提取能力。 整个结构中后面三层是确定的,中间的卷积单元和缩减单元要从搜索空间中获取。 二. 搜索空间…

Learn Learn Go Reverse

根据做题学习 [i春秋ezgo]Go栈扩容的逻辑,这里无需关注。具体汇编代码输入函数与输出函数系统学习go reverse 参考文章: https://forum.butian.net/share/1874 Go基础 见 https://forum.butian.net/share/1874 查看Go版本 //一、查看版本号 go version xx.exe //二、查看地址以…

Learn Learn Android Reverse

安卓基础 NDK开发 jni调用什么是jni?jni是Java Native lnterface的缩写。从java1.1开始,jni标准成为Java平台的一部分,允许Java代码和其他语言写的代码进行交互GetStringUTFChars();将java字符串转换为c字符串.java的字符串在虚拟机中,通过硬编码调用,cstring在内存中.env-&g…