sum, Nr = 0, 12
i = Nr
while i:
sum += i
i -= 1
print ('The sum of all natural numbers up to (and inclusive of) ' + repr(Nr) +
' is ' + repr(sum))
这是Python3中一个非常简单的while循环,它会像预期的那样返回“12之前(包括12之后)的所有自然数之和为78”。
我感到困惑的是,为什么当“i”不受任何比较运算符约束时,这个条件“而i:”在这里起作用。
谢谢
而
循环需要任何条件,无论是True
还是False
。当你写而i
(假设i=5
)时,它被评估为True
,所以循环继续,但是当它遇到i=0
时,它被评估为False
循环中断。
而
期待表达式,如果它是true
则运行循环。
while stmt::=“while”expression:“suite[“else”“:“suite]
In [38]: bool(Nr)
Out[38]: True
在条件语句中,输入隐式转换为布尔值,因此循环等效于
while bool(i):
...
bool(i)
只要i!=0
,如果i==0
,则False
,因此循环一直进行,直到i
变为零。
我试图解决这个问题:第三个最大数量 但我犯了这个错误 第4行:Char 37:运行时错误:有符号整数溢出:-9223372036854775808-10不能在类型“long long”(solution.cpp)摘要中表示:UndefinedBehaviorSanitizer:undefined behavior prog_joined。cpp:13:37 这是我的代码 有人能告诉我这个错误到底意
有人能告诉我这个错误是什么意思,这样我就可以避免它了吗?在此处输入图像描述
我可以打印最大罚款,但我不能打印计数。我看不出max和count之间的区别,也看不出为什么它不让我打印count。感谢任何帮助
我正在努力让Google Place API出现在CardView中。 我正在查看的特定代码来自GitHub,似乎适用于其他所有人,但我不明白为什么它会给我带来错误。 这是我遇到的错误: 主要的收获是,在对android类进行膨胀时出现了一个错误。碎片应用程序。FragmentContainerView,问题在XML的第50行。 这是XML: 所以我猜FragmentContainerView有问
问题内容: boolean r = false ; int s = 0 ; while (r == false) ; { s = getInt() ; if (!(s>=0 && s<=2)) System.out.println (“try again not a valid response”) ; else r = true ; } 即使输入3或123,循环也不会终止,文本也不会显示。怎么了
我想我的程序跳过了while循环,但我真的不确定到底发生了什么。该函数应该通过找到GCD,然后将分子和分母除以该数字来减少分数。 我得到分子和分母的绝对值,以确保如果分数是负数,我会在最后保持它。如果分子为0,则要求我返回(0,1)。问题是关于while循环。。。似乎它被完全跳过了。有什么建议吗?