-1
这个while循环给了我麻烦,因为它不会停止,我试图更新elem,最终通过使用指数我更大,然后char,但是这根本不会发生,并且是想知道是否有任何解决方案。为什么我的循环无限
i = 0
char = 20
elem = 2
while elem < char:
elem**i
i += 1
这个while循环给了我麻烦,因为它不会停止,我试图更新elem,最终通过使用指数我更大,然后char,但是这根本不会发生,并且是想知道是否有任何解决方案。为什么我的循环无限
i = 0
char = 20
elem = 2
while elem < char:
elem**i
i += 1
的问题是,你不改变elem
的价值,你只是重复计算elem**i
,所以当你比较elem
到char
总是相同的结果。最简单的解决方案是比较elem**i
到char
。
你大概的意思是:
while elem**i < char:
i += 1
你乘以一个变量与零值
'elem'和'char'在循环永远不会改变,所以'ELEM
lurker
另外,第一次过关,elem被提升到0次方。即使你将值赋给elem,它也会变成1,随后的迭代会增加1^i,对于i的任何正值,这将不会超过1。 – JosephStyons