2015-10-09 20 views
1

我正在處理一個涉及放入輸入(整數n)的問題,這樣做時將打印出以下4個「倍數」整數。我需要爲3個整數爲此,N = 5,N = 0,N = 3Python 3 - 請求正整數並打印前4個倍數的程序

原題:

實現該要求作出積極 整數n從用戶和打印程序n的前四個倍數:測試 您的模塊n = 5; N = 0和n = 3

代碼的輸出應該是這樣的:

>>> 
    Enter n: 5 
    5 
    10 
    15 
    20 

所以,我想出了到目前爲止,這是

n = (input("Enter n:")) 

這使我可以輸入一個整數值。

接下來使用print(n),這將打印我輸入的數值(例如數字5),但我不確定如何打印它的倍數之後。我意識到這是一個循環問題,很可能涉及到ifin,但我不確定在此之後要去哪裏。

回答

0

你幾乎已經想出了你自己的問題。正確的代碼是:

n = int(input("Enter n:")) 
for i in range(4): 
    print(n*(i+1)) 

所以,你這是什麼for循環的作用是重複打印語句4次,其中你給表達range(4)i值。

如果您只是print(range(4)),您會看到它的計算結果爲[0,1,2,3]。這就是爲什麼我每次都必須加1的原因。

int()函數調用是必需的,因爲input()返回一個字符串,而不是數字。所以如果我們想讓數學運算符做我們期望的事情,我們需要先將它轉換爲一個數字(在這種情況下是一個整數)。

+0

缺少一個'INT()'可能? – Sait

+0

我錯過了一個!這很尷尬。這會教我在我發佈之前進行測試。 –

+0

這似乎很好地工作。所以,現在我明白你需要用int()函數指定輸入,如果你正在尋找整數/數字,但是在處理單詞/字符串時它不是必需的。非常有幫助,謝謝。 – Jabgan

0

這是一般的邏輯:

n = (input("enter n:")) 
for(int i = 1; i <= 4; i++){ 
    print(int(float((n))*i); 
} 
+0

這具有接受非整數作爲輸入的優點,但是它會在不捨入的情況下截斷它們。不需要打印換行符,因爲print()自動爲您添加一行。你最終會在每個數字之間增加一行,這與問題中給出的輸出不符。 –

+1

@JacobRitchie好吧,我改變了。謝謝! – Meinkraft