初学者:一个Python的小问题

刚开始学编程,小甲鱼的Python视频第二课学到了一个IF..ELSE的循环,然后写了这么一个小程序,想要出个问题,然后再回答,打错就无限循环,继续回答的小程序,然后,不小心把自己整晕了……


print("-----做一个嵌套if的小练习--------")
temp = input("给我一个数字:")
guess = int(temp)
SN = 15
if guess == SN:
    print("你我有心灵感应吗?")
    temp1 = input("回答:")
    guess1 = str(temp1)
    if guess1 == "是的":
        print("我对男人没兴趣!")
    else:
        print("好吧,你赢了!")
else:
    temp2 = input("再试一次:")
    guess2 = temp2
    if guess2 == SN :
        print("答对")
    else:
        print(temp)
print("初级练习,一个打错就会无限循环的小测试,结果总是失败,不小心把自己整晕了……")

哪位大侠帮忙看看问题在哪里

 while True: #无限循环
    temp = input("给我一个数字:")
    ...
        print("答对") 后面加上 break

import random
import sys

print('--------猜字游戏--------')
srnum = random.randint(0,10)
i = 0;
guess = srnum + 1;
while (i < 3):
i = i + 1
temp = input("不妨猜下我现在想的是哪个数字:")
guess = int(temp)
if guess > srnum:
print("比这个数小哦")
if(i >= 3):
print("很遗憾,您的次数用完了")
print("Game Over")
else:
print("请重新猜一次吧")
elif guess < srnum:

print("比这个数大哦")
if(i >= 3):
print("很遗憾,您的次数用完了")
print("Game Over")
else:
print("请重新猜一次吧")
elif guess == srnum:
print("真聪明")
print("Game Over")
sys.exit(0)

            楼主可以看看这个,想要实现无限循环,if-else语句是不行的,,可以使用while语句

if - else 叫做分支,还有switch-case也是分支,像for,while是循环。分支其实只选择一个分支执行一次

你这个就没有在循环哦,我也是初学者,画了一下你的流程图,你目前做的实际上流程是单向的流程,没有循环,只是做了两次判断图片说明
如果你是看小甲鱼的课程的话,建议把循环也看完就理解了。。你实际想实现的大概是While循环图片说明

print("-----做一个嵌套if的小练习--------")

SN = 15
#设定答案为15

temp = input("给我一个数字:")
guess = int(temp)
#第一次回答

while guess != SN:
temp = input("再试一次")
guess = int(temp)
#这里会不断将空参数变成你输入的新的数字,如果你输入的数字不等于15,他会一直输入。

#当输入的数字等于15了,才会继续执行下面的代码
print("你我有心灵感应吗?")
temp1 = input("回答:")
guess1 = str(temp1)
if guess1 == "是的":
print("我对男人没兴趣!")
else:
print("好吧,你赢了!")

你只使用了分支,没有用到循环,参考下我写的:

secret = 8
i = 3 #(三次机会)
print('-------------猜数字-------------')
temp = input("你猜我在想什么数字:")
guess = int(temp)
while (i > 0):
        i = i - 1
        if guess > secret:
                print("大了,大了~")
        if guess < secret:
                print("小了,小了!")
        if guess == secret:
                print("答对了!!!")
                print("无奖竞猜")
                break
        if (guess != secret) and (i > 0):
                temp = input("猜错了哦,再来一次:")
                guess = int(temp)
if (i <= 0) and (guess != secret):
    print('机会用光了')
print("GAME OVER")