2015-09-20 30 views
-3

我遇到了一個問題,要求我打印一張表格,以將每個整數的所有因子可視化,範圍從1limit。然後它指定給定位置i,從1開始在一行n中,則*指示i是因子n,並且-指示它不是。以下是輸出的一個例子。可視化因素

我知道我必須使用模運算符來測試因素和for循環,但我很困惑與構建代碼。

Maximum number to factorise: 20 
* - - - - - - - - - - - - - - - - - - - 
* * - - - - - - - - - - - - - - - - - - 
* - * - - - - - - - - - - - - - - - - - 
* * - * - - - - - - - - - - - - - - - - 
* - - - * - - - - - - - - - - - - - - - 
* * * - - * - - - - - - - - - - - - - - 
* - - - - - * - - - - - - - - - - - - - 
* * - * - - - * - - - - - - - - - - - - 
* - * - - - - - * - - - - - - - - - - - 
* * - - * - - - - * - - - - - - - - - - 
* - - - - - - - - - * - - - - - - - - - 
* * * * - * - - - - - * - - - - - - - - 
* - - - - - - - - - - - * - - - - - - - 
* * - - - - * - - - - - - * - - - - - - 
* - * - * - - - - - - - - - * - - - - - 
* * - * - - - * - - - - - - - * - - - - 
* - - - - - - - - - - - - - - - * - - - 
* * * - - * - - * - - - - - - - - * - - 
* - - - - - - - - - - - - - - - - - * - 
* * - * * - - - - * - - - - - - - - - * 
+3

發佈您嘗試了什麼以及您卡在哪裏。 –

+0

@AhsanulHaque說什麼。關鍵是這是一個相對基本的Python問題,我們可以給你的唯一建議是:* try *和* read *。 *嘗試*你的方法,找出它出錯的地方,並在你做之前*閱讀* python教程,並在那裏做練習。這會讓你自己解決問題的速度提高1000倍。 –

+0

看看http://stackoverflow.com/questions/32691193/looped-nesting-factorising/32691449#32691449。 – wenzul

回答

2

我不會給出完整的代碼,因爲這顯然是一項家庭作業。

但這裏是一個僞算法,可以讓你開始 -

  1. 你會需要兩個for循環,一個嵌套在另一個裏面。第一個用於遍歷行的循環,第二個用於遍歷列的循環。

  2. 在嵌套的for循環中,您需要檢查inner for循環的計數器是否可以被for循環的counter變量整除,如果您需要在不給出新行的情況下打印*(To這樣做可以在Python 3中使用end=''參數,或者在Python 2中打印什麼後使用,),如果不是可打印的-

  3. 最後,在完成內循環後,您需要打印另一個換行符,以便下一行從下一行開始。

+0

什麼是僞算法? ';-)' – martineau

+0

@martineau:this :)不,嚴格來說,算法的形式要求是a)確定性的(Sharon暗示這裏),b)終止(這是),而且c)應用程序的角度 - 事實並非如此,因爲Sarah Young似乎不足以將每個步驟都轉化爲指令。因此,對於我們來說,已經可以編寫python的算法,以及Sarah的僞算法,可以更輕鬆地學習python。 –

+0

@Marcus:我聽說過僞代碼,但從來沒有一個僞算法 - 每天學習新的東西... – martineau