1.题目要求:
在上一次猜游戏实验题目的基础上,完善程序,实现如下的功能:
系统自动生成 1-100 以内的随机整数,让用户通过键盘输入所猜的数,如果
大于预设的数,显示“遗憾,太大了”;小于预设的数,显示“遗憾,太小了”,
如此循环,直到猜中该数,显示“预测 N 次,你猜中了!”,其中 N 是用户输入
的数字次数。如果用户输入的不是整数,而是小数,则提示用户“输入错误,必
须输入整数!”,并让用户重新输入。如果用户输入的不是数字,则给出出错提示
“输入格式错误,结束程程序
代码如下:
from random import *
num = input("Please input num:")
def isnum(a):
try:
s=float(num)
return True
except ValueError as e:
return False
def isInt(a):
if(isnum(a) == True):#先判断是不是数字,如果是的话判断是不是int
if(type(eval(a)) != int):
print("输入错误,必须输入整数!")
return float
else:
return int
else:
return False
Flag = randint(0,100)
N=1
while(1):
if(isInt(num) == float):
num = input('Please input num:')
continue
elif(isInt(num) == int):
num=int(num)#转成数字
if(num>Flag):
print('遗憾!太大了')
N+=1
num = input('Please input num:')
elif(num<Flag):
print('遗憾!太小了')
N+=1
num = input('Please input num:')
else:
print('预测{0}次,你猜中了!'.format(N))
break
else:
print("输入格式错误,结束程程序")
break
在平时经常要对PYTHON的变量类型进行判断可用以下的办法:
#!/usr/bin/env python
a = 1
b = [1,2,3,4]
c = (1,2,3,4)
d = {‘a‘:1,‘b‘:2,‘c‘:3}
e = "abc"
if isinstance(a,int):
print "a is int"
else:
print "a is not int"
if isinstance(b,list):
print "b is list"
else:
print "b is not list"
if isinstance(c,tuple):
print "c is tuple"
else:
print "c is not tuple"
if isinstance(d,dict):
print "d is dict"
else:
print "d is not dict"
if isinstance(e,str):
print "d is str"
else:
print "d is not str"