Python零基础,简单小程序检查一下问题

跟着B站小甲鱼零基础学Python,完成课后习题大致能满足,有一点小问题,各位help纠正一下,Thanks!
一个猜数字小游戏,有三次机会,我设定答案为8,运行时如果直接输入正确答案8,会打印三次答对了,第二次输入正确答案则打印两次,判断为while后只有条件i>0,加了条件and (guess != 8)之后,输入正确答案又会直接结束游戏且提示猜错了。各位look下应该怎么改。
代码:

print('-------------改进游戏-------------')
i = 3 #(三次机会)
temp = input("你猜我在想什么数字:")
guess = int(temp)
while (i > 0)** and (guess != 8)**:
        i = i - 1
        if guess == 8:
                print("答对了!!!")
                print("答对了又怎样")
        else:
            if guess > 8:
                    print("大了,大了~")
            else:
                    print("小了,小了!")
            if i > 0:
                    temp = input("猜错了哦,再来一次:")
                    guess = int(temp)
            else:
                 print("机会用光了")
print("GAME OVER")

这论坛就是风水好,发完提问,返回头一改就改好了,这样就没问题了

print('-------------改进游戏-------------')
i = 3 #(三次机会)
temp = input("你猜我在想什么数字:")
guess = int(temp)
while (i > 0) and (guess != 8):
        i = i - 1
        if guess > 8:
                print("大了,大了~")
        else:
                print("小了,小了!")
        if i > 0:
                temp = input("猜错了哦,再来一次:")
                guess = int(temp)
        else:
                print("机会用光了")
if guess == 8:
                print("答对了!!!")
                print("答对了又怎样")
print("GAME OVER")


print('-------------改进游戏-------------')
i = 3 #(三次机会)
temp = input("你猜我在想什么数字:")
guess = int(temp)
while (i > 0) and (guess != 8):
        i = i - 1
        if guess == 8:
                print("答对了!!!")
                print("答对了又怎样")
        else:
            if guess > 8:
                    print("大了,大了~")
            else:
                    print("小了,小了!")
            if i > 0:
                    temp = input("猜错了哦,再来一次:")
                    guess = int(temp)
            else:
                 print("机会用光了")
print("GAME OVER")

img

没问题啊。。

你加了条件(guess != 8) 当然是有问题了,这样你输入8的时候,也也不会执行里面的代码呀

给你一个不用自己写答案的猜数字游戏吧!这可能对你有用。

import random  #导入random
a=random.randint(1,11)  #生成随机数,也就是答案在1-10之间
b=(int(input()))  #输入答案
if b == a:
    print('回答正确')
else:
    print('回答错误')

可以自己加上while循环,就不用错误时频频去运行了