だから私は自分のコードに人の希望するキャラクターを取り、希望するベースのピラミッドを作ろうとしています。しかし、プログラムを実行すると、出力が終了したり、文字が出力されたりすることはありません。
これは次のコードです:
pyramid = str()
charnum = int(1)
num2 = 0
num3 = 0
char = input("Input character to make pyramid: ")
numb = input("Input what the base number has to be: ")
if int(numb) % 2 != 0:
numb2 = int(numb)
numb2 = (int(numb2) - 1) / 2
while int(numb2) != -1:
print(pyramid)
pyramid = ("")
numb3 = int(numb2)
numb2 = int(numb2) - 1
charnum2 = int(charnum)
charnum = int(charnum) + 2
while int(numb3) != 0:
pyramid += " "
numb3 = int(numb3) - 1
while int(charnum2) != 0:
pyramid += char
charnum2 = int(charnum2) - 1
どんな助けでも大いに感謝されるでしょう
3番目のwhileループでは、charnum2の値をチェックしていますが、これを変更することはなく、charnumのみを変更します。charnum2の値は、0でなければ変更されないため、ループで開始すると永久に実行されます。
編集:コードをもう少し調べてみると、すべての部分が揃っているように見えます。質問コードのインデントだけがオフになっています。実際のソースがこの時点で機能している場合は、これを無視できますが、whileループの一部をインデントして、すべてが次のようになるようにする必要があるようです。
pyramid = str()
charnum = int(1)
num2 = 0
num3 = 0
char = input("Input character to make pyramid: ")
numb = input("Input what the base number has to be: ")
if int(numb) % 2 != 0:
numb2 = int(numb)
numb2 = (int(numb2) - 1) / 2
while int(numb2) != -1:
print(pyramid)
pyramid = ("")
numb3 = int(numb2)
numb2 = int(numb2) - 1
charnum2 = int(charnum)
charnum = int(charnum) + 2
while int(numb3) != 0:
pyramid += " "
numb3 = int(numb3) - 1
while int(charnum2) != 0:
pyramid += char
charnum2 = int(charnum2) - 1
このようにして、最初のwhileループがピラミッドの各行に対して1回実行され、次の2つがピラミッドに正しい文字を追加します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加