学完python基础的应该都会做猜数字游戏,如果不会可以去尝试一下。
因为某教材就那么一点,(爬虫又会)
所以我花了两天的时间把最后一个项目改了一下。
代码如下:
import random
print('------------欢迎进入:---运气测试器---,------------')
Difficulty = input('请输入游戏难度(简单,普通,困难,自定义):')
if Difficulty == '简单':
print('电脑正在随机生成一个1到10的整数,\n你有4次机会')
Simple = random.randint(1, 10)
i = int(5)
while i:
try:
enter = int(input('请输入你猜的数:'))
except ValueError:
enter = int(input('你输入错误(再输错,你就别玩了),请从新输入:'))
i -= 1
if enter < Simple:
print('猜小啦! 你还有', i, '次机会')
elif enter > Simple:
print('猜大啦! 你还有', i, '次机会')
else:
print('真厉害,猜对啦,就是:', Simple)
if i < 1:
print('你的机会已用完!很遗憾,正确的答案应该是', Simple)
elif Difficulty == '普通':
print('电脑正在随机生成一个1到50的整数,\n你有4次机会')
ordinary = random.randint(1, 50)
i = int(4)
while i:
try:
enter = int(input('请输入你猜的数:'))
except ValueError:
enter = int(input('你输入错误(再输错,你就别玩了),请从新输入:'))
i -= 1
if enter < ordinary:
print('猜小啦! 你还有', i, '次机会')
elif enter > ordinary:
print('猜大啦! 你还有', i, '次机会')
else:
print('真厉害,猜对啦,就是:', ordinary)
if i < 1:
print('你的机会已用完!很遗憾,正确的答案应该是', ordinary)
elif Difficulty == '困难':
print('电脑正在随机生成一个1到100的整数,\n你有4次机会')
difficulty = random.randint(1, 100)
i = int(4)
while i:
try:
enter = int(input('请输入你猜的数:'))
except ValueError:
enter = int(input('你输入错误(再输错,你就别玩了),请从新输入:'))
i -= 1
if enter < difficulty:
print('猜小啦! 你还有', i, '次机会')
elif enter > difficulty:
print('猜大啦! 你还有', i, '次机会')
else:
print('真厉害,猜对啦,就是:', difficulty)
if i < 1:
print('你的机会已用完!很遗憾,正确的答案应该是', difficulty)
elif Difficulty == '自定义':
a = int(input('你想要电脑想的最小的数是:'))
b = int(input('你想要电脑想的最大的数是:'))
customize = random.randint(a, b)
frequency = int(input('你想要尝试多少次机会:'))
print('电脑正在随机生成一个1到100的整数,\n你有', frequency, '次机会')
while frequency:
try:
enter = int(input('请输入你猜的数:'))
except ValueError:
enter = int(input('你输入错误(再输错,你就别玩了),请从新输入:'))
frequency -= 1
if enter < customize:
print('猜小啦! 你还有', frequency, '次机会')
elif enter > customize:
print('猜大啦! 你还有', frequency, '次机会')
else:
print('真厉害,猜对啦,就是:', customize)
if frequency < 1:
print('你的机会已用完!很遗憾,正确的答案应该是', customize)
else:
print('''恭喜你触发了无敌噩梦模式!
电脑正在随机生成一个1到100的小数(小数点后14到15位的),
你有 N 次机会。''')
Nightmare = random.uniform(1, 100)
i = 0
while True:
try:
enter = float(input('请输入你写入的小数:'))
except ValueError:
enter = float(input('你输入错误(再输错,你就别玩了),请从新输入:'))
i += 1
if enter < Nightmare:
print('猜小啦!!!')
elif enter > Nightmare:
print('猜大啦!!!')
else:
print('厉害---厉害,猜对啦,就是:', Nightmare, '你一共用了', i, '次机会')
break
(没写注释)差不多100行代码,对于学过基础的人应该都看的懂。
里面就有两个我没深入的函数,
第一个就是random.uniform(a, b)这函数是产生一个a到b之间的小数,!14~15位的小数,
不过也可已用round()函数来控制要保留多少位小数,
第二个就是“异常处理”格式如下:
try:
语句块
except 异常名称:
处理异常的代码块
大家有什么好的项目可以推荐一下。