-5

整数を含む単一行の入力で、そのサイズのアスタリスクの三角形を出力するプログラムを作成します。しかし、私のプログラムはこのようには機能しません。私のコードを見て、私の間違いを判断してください。ありがとう

line = int(raw_input("Number of lines: "))
a = line * '*'
print a

これは私が生成したい出力です:

Number of lines: 5
*
**
***
****
*****
4

2 に答える 2

1

これは実際の授業ではなく独学であるため、コードと何が間違っていたかの詳細な説明で説明するのが最善です。

入力と、特定の数のアスタリスクを出力できる手段があるという点で、ほとんどそこにいます。問題は、最大数のアスタリスクを含む1行だけを印刷していることです。

1からその数までループする必要があります。そのたびに、同じ種類の行を出力するたびに、次のように長さが増加します。

line = int (raw_input ("Number of lines: "))
for i in range (1, line + 1):
    print i * '*'

このコード (5 を入力) では、基本的にi、順番に含まれている変数でループします{1, 2, 3, 4, 5}(rangeは下限では包括的で上限では排他的であるため、line + 1)。

そのループ内で、その数のアスタリスクを出力して、三角形の形を与えます。

pax> python testprog.py
Number of lines: 5
*
**
***
****
*****
于 2012-09-02T05:45:49.583 に答える
0

Pythonを学ぶためにやっているので、以下を追加します。

ループは簡単に理解できますが、ほとんどの人が忘れているのは、ユーザーから正しい入力が得られていることを確認することです!

ユーザーに番号を尋ねました。右?
ユーザーが後者の「a」を押して返信するとどうなりますか?

于 2012-09-02T05:55:33.630 に答える