import random
a=int(input("最小数值:"))
b=int(input("最大数值:"))
tc=0
if a > b:
print("错误:最小数值应该小于最大数值")
exit()
while 1:
t=random.randint(a,b)
m=random.randint(a,b)
print(t,"+",m)
d = t + m
c = input("答案=")
if d == c:
print("正确")
print()
else:
print("错误")
print("答案是:",d)
print()
python,比如说我是这样的:
最小数值:0
最大数值:10
0 + 5
答案=5
错误
答案是: 5
请问为什么python判断5!=5
楼上回答的已经差不多算对了。再严谨一点,可以判断输入数据的合法性,
import random
def is_number(s):
try:
float(s)
return True
except ValueError:
pass
try:
import unicodedata
unicodedata.numeric(s)
return True
except (TypeError, ValueError):
pass
return False
def inputNew(s):
rst = input(s)
while not is_number(rst):
print("输入非法,请重新输入")
rst = input(s)
return int(rst)
a=inputNew("最小数值:")
b=inputNew("最大数值:")
tc=0
if a > b:
print("错误:最小数值应该小于最大数值")
exit()
while 1:
t=random.randint(a,b)
m=random.randint(a,b)
print(t,"+",m)
d = t + m
c = inputNew("答案=")
if d == c:
print("正确")
print()
else:
print("错误")
print("答案是:",d)
print()
运行如图
c = input("答案=") 这个输入默认是字符串,应该改成这样: c = int(input("答案="))