除不尽的时候会一直循环为什么?
i = 11while i:
print('Where are you from?')
i = i - 2
i = 9,7之类的也是,为什么捏?? 如果i = 9,如何想办法让他输出 4次呢? 因为你的程序中循环的判断条件是整型i的值,在循环体中对i进行的减2操作,会跳过i=0
然而,用整型变量做真假判断,只有i=0时,才为False,所以这个判断条件永远为真,程序近进入了死循环。
PS:bool类型是int类型的子类,bool中的True=1,False=0 i = 9
while i>2:
print('Where are you from?')
i = i - 2 塔利班 发表于 2019-1-21 21:49
i = 9
while i>2:
print('Where are you from?')
似乎是可以,可到 i = 10的时候就不行了,只打印4个 sunrise085 发表于 2019-1-21 21:36
因为你的程序中循环的判断条件是整型i的值,在循环体中对i进行的减2操作,会跳过i=0
然而,用整型变量做真 ...
对的,后来我发现while循环是判断True或者False的,但是奇偶整数都兼容的答案还没有出现~~ tao ge if han shu 你一直都没有说清楚你的需求。是打算输入一个正整数,然后当i为偶数的时候输出一次,9和8都是输出四次,对么?按照这个意思写了一下
i = 11
while i>0:
if i/2==0:
print('Where are you from?')
i = i - 1 本帖最后由 Stubborn 于 2019-1-22 22:53 编辑
i = 11
while i: #判断为假的条件才会退出,没有判断条件,非空非0为真。
print('Where are you from?')
i = i - 2
首先当i=0才会跳出循环体,你这里i是得不到0的值的 while循环只要条件不为true会一直循环下去,如果你只想循环几次,可以用for循环
页:
[1]