import random
print("你有5次猜数的机会")
a=random.randint(1, 10)
b=input("请输入:") #1次
c=int(b)
d=1
while b!=a and d<5: #4次
if c>a:
input("大了,重新输入:")
else:
b=int(input ("小了,重新输入:"))
d=d+1
if (d<=3) and (b==a):
print("对了")
#d=1,1<5,所以继续运行
#d=1+1,2<5,所以继续运行
#d=2+1,3<5,所以继续运行
#d=3+1,4<5,所以继续运行
#所以一个循环里的自增运算,也执行初始的变量赋值?
你条件满足他不就执行了么,刚开始d=1,满足了d<5的条件,你的输出是在d=d+1变量改变之前的,代码的执行逻辑就是这样,不知道你是哪没想明白?
每次的输入b=input("请输入:") 需要放在while里,循环的时候,不要每次都对d进行赋值
import random print("你有5次猜数的机会") a=random.randint(1, 10) d=1 b = input("请输入:") # 1次 while True: c = int(b) if c>a: b = input("大了,重新输入:") elif c<a: b=input ("小了,重新输入:") elif d>5: break d = d + 1 if (c==a): print("对了")