Skip to content

Python 303 迴圈數值相乘

Python TQC

題目說明:

請使用迴圈敘述撰寫一程式,讓使用者輸入一個正整數(<100),然後以三角形的方式依序輸出此數的相乘結果。

Info

輸出欄寬為4,且需靠右對齊。

範例輸入1
5

範例輸出1

   1
   2   4
   3   6   9
   4   8  12  16
   5  10  15  20  25

範例輸入2

12

範例輸出2

   1
   2   4
   3   6   9
   4   8  12  16
   5  10  15  20  25
   6  12  18  24  30  36
   7  14  21  28  35  42  49
   8  16  24  32  40  48  56  64
   9  18  27  36  45  54  63  72  81
  10  20  30  40  50  60  70  80  90 100
  11  22  33  44  55  66  77  88  99 110 121
  12  24  36  48  60  72  84  96 108 120 132 144

題目解析

根据範例輸入及輸出和問題解釋,可以得出以下思路:

  1. 首先,需要使用者輸入一個正整數(小於100)。
  2. 接著,使用兩個嵌套的迴圈,外層迴圈控制行數,內層迴圈控制每行的列數。
  3. 在內層迴圈中,每次輸出當前行數和列數的相乘結果,並且右對齊,每個數字之間以空格分隔。
  4. 最後,每行輸出完畢後換行。

外層迴圈控制行數:外層迴圈用於控制要輸出的行數,也就是三角形的行數,從1開始遞增到使用者輸入的數字。

內層迴圈控制列數:內層迴圈用於控制每一行輸出的列數,即每一行中要輸出的數字個數。內層迴圈的範圍是從1到當前行數。

當內層迴圈執行一次,輸出一個相乘結果,而外層迴圈則控制了內層迴圈的執行次數,從而達到以三角形的方式依序輸出相乘結果的目的。


Solution

1
2
3
4
5
6
a = eval(input())
if(a < 100):
    for i in range(1, a+1):
        for j in range(1, i+1):
            print("{:>4d}".format(j*i), end = "")
        print()

Tip

  • 注意這個 j*i
  • print函数中的end参数用于指定打印内容的结尾字符,默认情况下,end的值为换行符”\n”,表示每次打印内容后会换行。但是,如果将end参数设置为空字符串”“,则打印内容之间不会换行,而是直接连接在一起输出。
  • 在这个问题的解答中,使用了end=”“是为了让打印的内容在同一行上输出,而不是每打印一个数就换行,这样就可以按照题目要求,以三角形的方式依序输出相乘结果。

Last update : 13 novembre 2024
Created : 13 novembre 2024

Comments

Comments