Python反复猜数

题目:

img

goal = 100
while True:
    guess = int(input())
    if(guess<goal):print("less than expected")
    elif(guess>goal):print("larger than expected")
    else:print("you win");break

这两个有什么区别呢?第一个代码一次测试中可以多次输入直到猜出100才结束,第二个代码每次调试只要输入一次数据就结束了。

goal = 100
while True:
    guess = int(input())
    if(guess<goal):print("less than expected")
    elif(guess>goal):print("larger than expected")
    else:print("you win");
    break

break独立一行,就表示和上面的if...else无关,肯定会执行,就跳出while了
上面代码,break和else在同一行,表明break是输入else部分的代码块 只有进入else才会执行break,也就是才对了才会break

因为break没写在if里面呀,不管什么条件都执行
你要玩python,那总要知道最基本的规则,比如如何定义变量,如何赋值,如何判断
python没有{}这种块标识符,所有层级关系都是靠缩进来完成的
你不好好写缩进,而把代码都写同一行里,这是什么习惯呀

你在放弃了缩进格式的,那么 break 所在的位置就很重要了

如果按第一种,那么 break 属于 else 的子句
如果第二种,那么break属于 while 的子句