1樓:小wo_在路上
是因為你使用的編譯器是python3.x的原因:
如果使用python2.x的話,列印出來將是(0,2)
可以比較明顯的看到,使用python3.x輸出的結果是一個浮點型(float),一個整型(int);而使用python2.x輸出的結果是元組(tuple, 直**就是帶括號)。
這就是python3.x和python2.x的比較明顯的一個區別---print
在python2.x中,print是個語句(statement),而在3.x中,print是個函式(function),最直接的例子:
在2.x中:
>>> print 'hello world'
hello world
在3.x中:
還有一個比較明顯的區別是在3.x中,最後列印的a為0.0(浮點型);而在2.
x中,a為0(沒有小數點,整型)。這就說明了為什麼在python3.x中迭代了178次,因為:
第一次:b = 1 + 1 = 2; a = 1 / 1 + 1 = 0.5
第二次:b = 2 + 1 = 3; a = 0.5 / 2 + 1 = 0.167
....
需要迭代178次,才使得 a 終於 < 0.
如果你在迴圈中加入列印的話,例如:
這樣,你比較容易知道原因了。
同樣,我列印出了python2.x的結果:
最後,列印是程式除錯很有用的方法,通過列印的結果,你會知道每一步的執行結果。
2樓:匿名使用者
在python中數字是有精度的,雖然數學上a是一個越來越小的小數,但是當a小到一定程度時超過python可以表示的精度時,值就為0,這時迴圈就結束了,輸出a和b的值
python 裡while迴圈能用 OR 嗎??
or的條件是有一個為真,整個表示式為真,所以說如果你猜的數不對 a number為真 迴圈一直會進行下去,如果你想用or的話需要改成 not b 6 or a number 就和上面的條件一樣了。python 裡while迴圈能用 or 嗎?200 python while 迴圈語句。python ...
c語言while迴圈用法,c語言while的用法
c語言中while的用法解析如下 1表示true,在bool型別取值false和true,0為false,非0為true 例如 1和2都是true 程式中,這裡1就表示永真,直到迴圈體內遇到break。bool表示布林型變數,也就是邏輯型變數的定義符,以英國數學家 布林代數的奠基人喬治 布林 geo...
c語言中for迴圈和while迴圈的最主要區別是什麼
後山蘭才唱 while語句的一般形式如下 while 表示式 語句 表示式為非0值,執行while中內嵌語句。它是先判斷表示式,在根據表示式值,執行語句。do while語句的一般形式如下 do迴圈體語句 while 表示式 它的特點是先執行迴圈體語句,然後判斷迴圈條件是否成立,不成立就退出,成立就...