刚开始学编程,小甲鱼的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")