我无法完全理解为什么:
while True:
age = int(raw_input("What is your age? "))
if age >= 21:
print "Okay! You are old enough to drink."
break
else:
print "Bzzt! You are not old enough to drink."
有效,但事实并非如此:
while False:
age = int(raw_input("What is your age? "))
if age >= 21:
print "Okay! You are old enough to drink."
break
else:
print "Bzzt! You are not old enough to drink."
第二个甚至没有执行。我的主要问题是了解计算机如何读取它以及它正在检查的值。如果这看起来非常基本,我很抱歉。我一直在教自己Python,这个问题出现了,我找不到足够的解释。
提前致谢。
答案 0 :(得分:11)
那是因为while-loop的工作原理。 while循环在条件为True
时继续(或者至少计算为True
)。如果它是False
(或评估为False
),则会中断。此外,每次迭代都会重新评估条件。
考虑到这一点,从False
条件开始自然意味着它永远不会执行。
此外,此行为并非Python独有。所有while循环都以这种方式工作。它们可以被理解为“当这个条件成立时,执行此代码块”。
也许你在想一个do-while-loop,它运行一个代码块然后评估条件。但是,Python没有do-while-loop。
答案 1 :(得分:0)
如果condition为False,程序甚至不会进入循环
答案 2 :(得分:-3)
所有工人45小时以上的小时工资奖励时间一半。
45,10.50
def computepay(h,r)
if h>40:
sum=45*10.50+5*5.25
return sum
else:
sum=h*r
return sum
使用if的正确代码。如果不建议我