import random
num=random.randint(1,100)
print('提示:产生的随机数是',num)
time=3
while time>0:
time-=1
temp = 0
number = 0
temp = input("请输入数字")
if temp.isdigit():
number = int(temp)
print('你猜对啦!')
elif temp<num:
print(f'你猜小啦!你还有{time}次机会')
continue
else:
print(f'你猜大啦!你还有{time}次机会')
continue
if time==0:
print('次数已用完!')
key=input('输入s可复活重新开始,输入e结束')
if key=='s':
time=3
elif key=='e':
print('游戏结束!')
你代码缩进不对啊。
你的缩进有问题啊
import random
num=random.randint(1,100)
print('提示:产生的随机数是',num)
time=3
while time>0:
time-=1
temp = 0
number = 0
temp = input("请输入数字")
if temp.isdigit():
number = int(temp)
print('你猜对啦!')
elif temp<num:
print(f'你猜小啦!你还有{time}次机会')
continue
else:
print(f'你猜大啦!你还有{time}次机会')
continue
if time==0:
print('次数已用完!')
key=input('输入s可复活重新开始,输入e结束')
if key=='s':
time=3
elif key=='e':
print('游戏结束!')
import random
num=random.randint(1,100)
print('提示:产生的随机数是',num)
time=3
while time>0:
time-=1
temp = 0
number = 0
temp = input("请输入数字")
if temp.isdigit():
number = int(temp)
if number == num:
print('你猜对啦!')
elif number<num:
print(f'你猜小啦!你还有{time}次机会')
else:
print(f'你猜大啦!你还有{time}次机会')
if time==0:
print('次数已用完!')
key=input('输入s可复活重新开始,输入e结束')
if key=='s':
time=3
elif key=='e':
print('游戏结束!')
发报错截图
麻烦把代码放在代码块里,你这发出来的代码看不出来结构。
python是有严格缩进的,多了少了一个空格都不行
你这if,else连缩进都没有啊。粘代码要按代码格式粘,不要瞎粘一气。
你判断temp 是数字就转int然后赋值给number ,那怎么后面判断还用temp,number被你扔了?
temp是str类型的,跟num去比较大小肯定出错了呀。
你11行的temp.isdigit()把你所有的结果都涵盖了,进不去后面两种判断。
所以只要猜测数字就都是猜对,而不是数字则会在14行报字符串与整形无法比较的错误。
还有20行的if应该写在while循环里面,不然的话while结束了你怎么更改time都没有用了。
25行的elif key=='e': 没有必要,因为只要你不是s都会结束,你反而限定了只有输入e时才会输出游戏结束