添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Python随机数和猜数字小游戏

Python之random库( 模块 )详见 random --- 生成伪随机数 — Python 3.11.2 文档

random.randint(a,b) 生成一个[a,b]之间的整数 (包含a、b)

random 库是 python 版本中自带的一个随机库,无需安装,你直接在py文件中加入 import random 即可使用。

文本界面版

源码如下:

import random
# 随机生成一个1-100之间的整数
number = random.randint(0, 100)
# 统计所猜次数
count = 0
while True:
    # 每循环一次,count加1
    count += 1
    # input函数从键盘输入要猜的数字,并转换为int类型
    choice = int(input("请输入你要猜测的数字[1~100]:"))
    # 大于目标数字
    if choice > number:
        print("你猜大了")
    # 小于目标数字
    elif choice < number:
        print("你猜小了")
    # 等于目标数字
    else:
        print("你猜对了,真棒!")
        print(f"你一共用了{count}次机会")
        break

GUI(图形用户界面)版

Tkinter 是内置到 python 的安装包中的图形开发界面的库。无需安装,你直接在py文件中加入 import tkinter即可使用。

源码如下: 

import tkinter as tk
import random
def eBtnReset():
    global num
    num=0
    global number    
    number=random.randint(1,100)
    print(number)  #  
    labelqval("请输入1-100之间得任意整数:")
    btnGuess['state'] = "normal"
def eBtnGuess(event):
    #检查输入框是否为空
    if entry_a.get()=="":
        return
    global num
    num+=1
    val_a=int(entry_a.get())
    if val_a==number:
        labelqval(f"恭喜你答对了!!!  你猜了{num}次")
        btnGuess['state'] = "disabled"        
    if val_a<number:
        labelqval(f"第{num}次,猜小了哦!")
    if val_a>number:
        labelqval(f"第{num}次,猜大了哦")
def labelqval(vText):
    label_val_q.config(label_val_q,text=vText)
root=tk.Tk(className="猜数字游戏")
root.geometry("400x90+200+200")
line_question=tk.Frame(root)
label_val_q=tk.Label(line_question,width="80")
label_val_q.pack(side="left")
line_question.pack(side="top",fill="x")
line_input=tk.Frame(root)
entry_a=tk.Entry(line_input,width="40")
btnGuess=tk.Button(line_input,text="猜")
entry_a.pack(side="left")
entry_a.bind('<Return>',eBtnGuess)
btnGuess.bind('<Button-1>',eBtnGuess)
btnGuess.pack(side="left")
line_input.pack(side="top",fill="x")
line_btn=tk.Frame(root)
btnClose=tk.Button(line_btn,text="关闭",command=root.destroy)
#btnClose.bind('<Button-1>',eBtnClose)
btnClose.pack(side="left")
line_btn.pack(side="top")
btnReset=tk.Button(line_btn,text="新局",command=eBtnReset)
btnReset.pack(side="left")
labelqval("请输入1-100之间得任意整数:")
entry_a.focus_set()
number=random.randint(1,100)
num=0  #猜的次数计数
print(number) #
root.mainloop()
7-3 循环求e的近似值(高教社,《Python编程基础及应用》习题6-7)
7-4 jmu-python-判断是否构成三角形
7-5 jmu-python-输入输出-计算字符串中的数
7-6 jmu-python-随机生成密码
7-7 jmu-python-重复元素判定
7-8 jmu-python-从列表中删除元素
7-10 找出字符串中出现次数最多的字符
7-11 华氏温度到摄氏温度的转换(高教社,《Python编程基础及应用》习题
用python实现猜数字游戏可以加深python初学者循环结构的理解和运用。
猜数字游戏规则如下:电脑程序随机生成一个数字,作为猜数字游戏的最终答案,用户在键盘输入所猜数字。用户每猜一次程序都会做出相应的提示。若用户输入所猜的数字小于电脑随机生成的数字,则提示“你猜小了”;若大于,则提示“你猜大了”;若等于,则提示“恭喜你,猜对了”。
这里我们需要用到一个随机生成数字的库:random,使用如下:
#导入随机生成模块
import 
				
Python随机数猜大小游戏是一种猜数字大小的小游戏。在这个游戏中,程序会随机生成一个数字,玩家需要猜出这个数字,并通过提示来判断猜测的数字是偏大还是偏小。 下面是一个示例的Python代码: ```python import random secret = random.randint(1,10) # 生成1到10之间的随机数 temp = input('猜数字:') # 输入猜测的数字 guess = int(temp) while guess != secret: temp = input('猜错了重新输入:') # 继续输入猜测的数字 guess = int(temp) if guess == secret: print('yes') # 猜对了 else: if guess > secret: print('大了') # 猜大了 else: print('小了') # 猜小了 print('游戏结束') 在这个游戏中,程序会生成一个1到10之间的随机数作为"神秘数字",玩家需要通过输入猜测的数字来猜测这个"神秘数字"。如果猜对了,则显示"yes",游戏结束;如果猜错了,则根据猜测的数字和"神秘数字"的大小关系进行提示,继续猜测,直到猜对为止。 希望对您有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span>