2012-09-01 96 views
1

我正在寫一個程序,它需要確定數字的範圍,就像我在user_input'a'中放置15一樣,所以它應該打印範圍從'a'到'b',但不幸的是我是無法解決任何人都可以請幫助我。這是我的代碼:Python範圍問題

a = int(raw_input("How many did you say you're going to count down? ")) 
b = int(raw_input("When are you actually going to stop? ")) 
i = 0 
for i in range(a, b): 
    i = i + 1 
    print i 

,我希望它是這樣工作的:

How many did you say you're going to count down? 15 
When are you actually going to stop? 8 
15 
14 
13 
12 
11 
10 
9 
8 

OR

How many did you say you're going to count down? 6 
When are you actually going to stop? 4 
6 
5 
4 

回答

5

循環可以是:

a = int(raw_input("How many did you say you're going to count down? ")) 
b = int(raw_input("When are you actually going to stop? ")) 

for i in range(a, b-1, -1): 
    print i 

(假設計數減少)。

那你必須知道的是:

  1. for循環爲你做遞減(無需i = i-1像C)。
  2. range(a, b-1, -1)是從ab-1(未包括)的列表(在Python 2中),步驟爲-1。例如,您可以嘗試在Python shell中執行print range(10, 5, -1)。您還可以檢查range(5, 11, 2)的輸出,以更好地瞭解range()的功能。
+0

nah bro它沒有:/ – rocker789

+0

@ rocker789:現在確實如此。你的循環正在向上計數(兩次)。 –

+0

該範圍內應該是b + 1嗎? –