randint 放入循环中, 不然它一直会是一个值, 也就是你现在的代码从0-9都输入一遍会有一个是对的
from random import randint
a = randint(0, 9)
i = 0
while True:
try:
b = int(input("输入所猜的数: "))
except ValueError as e:
print('你输入的值不是一个数字类型,请重新输入!')
else:
i += 1
if b > a: # 单个条件下,不用括号
print('遗憾, 太大了')
elif b < a:
print('遗憾, 太小了')
else:
print('猜对了, 共猜了{}次'.format(i))
break
# 你应该是语法错误, 输入值不能为字母或其他,只能是数字, 或者直接copy()我这份