学习python小记录
1.简易版“猜数字”游戏,系统随机产生一个0-9的整数,判断用户输入的数字是否正确。
初始代码:
#coding:utf-8
import random
s=random.randint(0,9)#生成一个随机的0-9的整数
n=input("请输入您猜的数字:")
if n < 10 and n >= 0:
if n==s:
print("恭喜您猜对了,答案为:",s)
else:
print("猜错了,答案为:",s)
else:
print("请重新输入0-9的整数:")
运行后,输入1,报错:
TypeError:’<’ not supported between instances of ‘str’ and ‘int’
最终发现报错的原因是:因为input()返回的数据类型是str,不能直接和整数进行比较,必须先把str换成整数,这里我们可以使用int()函数来实现。
修改后的代码:
#coding:utf-8
import random
s=random.randint(0,9)
n=int(input("请输入您猜的数字:"))
if n < 10 and n >= 0:
if n==s:
print("恭喜您猜对了,答案为:",s)
else:
print("猜错了,答案为:",s)
else:
print("请重新输入0-9的整数:")
运行后同样输入整数1,无错误,结果如下:
2.改良版“猜数字”游戏,系统随机生产一个0-9的整数,用户输入一个数字,直到猜对为止!
import random
s=random.randint(0,9)
n=int(input("请输入您猜的数字:"))
while True:
if n < 10 and n >= 0:
if n == s:
print("恭喜您猜对了,答案为:", s)
break
else:
if n > s:
n = int(input("猜大了,再猜:>>"))
else:
n = int(input("猜小了,再猜:>>"))
else:
n=int(input("请重新输入0-9的整数:"))
3.优化版“猜数字”游戏,系统随机生产一个0-9的整数,允许用户猜四次,限定次数内猜对为赢,超过四次还未猜对则判定为输,游戏结束!(若用户输入的数不在0-9整数范围内视为错误,并且不计入竞猜次数)
import random
s=random.randint(0,9)
a=0
n=int(input("请输入您猜的数字>>"))
while True:
if n < 10 and n >= 0:
if n == s:
print("恭喜您猜对了,答案为", s)
break
else:
if n > s:
n = int(input("猜大了,再猜>>"))
else:
n = int(input("猜小了,再猜>>"))
else:
n=int(input("错误:请输入0-9的整数,您已经猜了%a次,还有%s次机会>>" %(a,4-a)))
continue
if a == 3:
print("游戏结束,你失败了!!!答案为", s)
break
else:
pass
a += 1
4.趣味版“猜数字”游戏,系统随机生产一个0-9的整数,用户基本赢不了
import random
while True:
s=random.randint(0,9)
n=int(input("请输入一个0-9的整数>>"))
if n==s:
while True:
s=random.randint(0,9)
if n==s:
pass
else:
break
print("很遗憾,您猜错了!正确答案是",s)