前言

这是我的一次python实验,记录一下

正文

1.基础版

在程序中预设一个0-9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“你猜的数字大于正确答案”;小于预设的数,显示“你猜的数字小于正确答案”,如此循环,直至猜中该数。

guess=0
secret=7
times=1
print("---------欢迎参加猜数字游戏,请开始---------")
while guess!=secret:
guess=int(input("@数字区间0-9,请输入你猜的数字:"))
print("你输入的数字是:",guess)
if guess==secret:
print("你猜了{}次,猜对了。真厉害". format(times))
else:
if guess<secret:
print("你猜的数字小于正确答案")
else:
print("你猜的数字大于正确答案")
times+=1
print("游戏结束")

Python猜数字游戏(4版)_封装

2.猜100以内随机数

改编1中的猜数字游戏,让计算机能够随机产生一个预设数字,范围在0-100之间,其他游戏规则不变

import random

guess=0
secret=random.randint(0,100)
times=1
print("---------欢迎参加猜数字游戏,请开始---------")
while guess!=secret:
guess=int(input("@数字区间0-100,请输入你猜的数字:"))
print("你输入的数字是:",guess)
if guess==secret:
print("你猜了{}次,猜对了。真厉害". format(times))
else:
if guess<secret:
print("你猜的数字小于正确答案")
else:
print("你猜的数字大于正确答案")
times+=1
print("游戏结束")

Python猜数字游戏(4版)_猜数字游戏_02

3.设置最大次数,猜错后提示几次机会

这部分开始,才是我上课要写的内容。

猜数字游戏再续。用变量maxtimes设置允许猜数字的最大次数(比如最多只允许猜6次maxtimes=6),并在猜错后提示还有几次机会。用for循环改写整个程序,并提交。(提示,猜对后可使用break跳出循环)

import random
times =0
guess = 0
secret = random.randint(0, 100)
maxtimes =6
print("-----欢迎参加猜数字游戏,游戏现在开始 -----")

for times in range(maxtimes):
while guess!=secret:

times+=1;
guess =int(input("数字区间0-100,请输入你猜的数字:"))
print("你输入的数字是:" ,guess)
if guess==secret:
print("你猜了{}次,猜对了,真厉害".format(times))
break
else:
if(guess > secret):
print("太大了!")
t= maxtimes - times
print("你还有%d次机会"%(t))
break
else:
print("太小了!")
t= maxtimes - times
print("你还有%d次机会"%(t))
break

print("游戏结束"))

Python猜数字游戏(4版)_封装_03

4.函数封装

为了增加代码的复用性,将猜数字游戏封装为函数GuessSecret(maxtimes),将允许猜数字的最大次数maxtimes作为参数。在调用GuessSecret时允许用户自己设置maxtimes,美化程序的输出界面。

import random

def GuessSecret(maxtimes):
times = 0
guess = 0
secret = random.randint(0, 100)
print("-----欢迎参加猜数字游戏,游戏现在开始 -----")

for times in range(maxtimes):
while guess != secret:

times += 1;
guess = int(input("数字区间0-100,请输入你猜的数字:"))
print("你输入的数字是:", guess)
if guess == secret:
print("你猜了{}次,猜对了,真厉害".format(times))
break
else:
if (guess > secret):
print("太大了!")
shengyutimes = maxtimes - times
print("你还有%d次机会" % (shengyutimes))
break
else:
print("太小了!")
shengyutimes = maxtimes - times
print("你还有%d次机会" % (shengyutimes))
break

print("游戏结束")


maxt=eval(input("@请输入猜数字的最大次数:"))
GuessSecret(maxt)

小结

random库的randint(参数1,参数2)函数,参数1和参数2是整数,函数值返回参数1、2之间的任意整数 random库是Python标准库中的一个模块,它提供了用于生成随机数的函数。它可以用于生成伪随机数,以及用于模拟概率分布的随机数。它还提供了一些函数,用于从序列中随机选择元素,以及用于打乱序列中元素的顺序。 random库还提供了一些函数,用于生成随机数组,以及用于生成随机矩阵的函数。random库还提供了一些函数,用于生成随机字符串,以及用于生成随机整数和浮点数的函数。