2016-11-17 375 views
-3

改變我不知道我怎麼會改變代碼的下面幾行使用while循環,而不是一個for循環。for循環while循環

for num in range(10): 
print(num+1) 

目前,它打印出以下幾點:

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 

謝謝!

+3

用一個計數器和一個條件。 – Maroun

+1

爲什麼你想要一個while循環而不是for循環? – depperm

回答

2
start = 0 
while start != 10: 
    start = start + 1 
    print(start) 

希望這個hepls

+3

這可能有助於在這個特定的情況下,但它不會幫助OP在未來找出如何解決他們自己的* *的問題。 – Maroun

+0

謝謝!這很好用! –

0

以及..... while語句進行操作,直到滿足特定條件,作爲對一組給定的迭代操作。

你的情況,你想,直到NUM達到10打印東西,所以

while num <= 10 : 
    print num 
    num = num + 1 

會做

+0

*直到*或* while *? – doctorlove

+0

你應該指定'num'開始於'1'因爲OP要打印1〜10 – duncan

1

for循環運行在一個迭代,而while循環運行在條件爲真,所以你只需要考慮正確的條件。 這裏,東西數到10都可以工作:具有相同的輸出

>>> number = 0 
>>> while number < 10: 
... print(number + 1) 
... number += 1 
... 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
1
number = 1 
while (number <=10): 
    print 'The number is:', number 
    number = number + 1 
+0

這也將打印'0'這可能不是從0想要 – doctorlove

+0

這版畫 - 10 OP要求1 - 10 – duncan

+0

現在我編輯了我的答案。 Lols ..檢查現在! –

0

編寫的代碼是不一樣的重寫代碼做同樣的事情。其他答案簡單地做前者,所以這解決了後者:

numbers = range(10) 
while numbers: 
    numbers.pop(0) + 1 

原代碼在不循環外存在一個列表上循環 - 它可以用比範圍以外的東西的清單工作(10) ,但它不一定只是一個'+ 1'操作。

了while循環的條件語句,但是,需要爲真爲循環開始所以應該已經存在的列表。爲了讓真正的原代碼的精神,我們使用範圍()創建列表,並使用pop()方法來反覆從中取出第一個元素。

這裏的區別在於變量(數字)被使用,但在循環之後是空的,我們不依賴列表理解來迭代,但顯式刪除第一個元素,直到'數字'爲空,導致錯誤的情況。