私は現在、Python 3.3.0 で最初の n 個の二乗数を出力し、最終的にそれらの合計を出力するプログラムを作成しています。条件は、ユーザーがゼロより大きい整数の項のみを計算できることです。コードは次のとおりです。
print("WELCOME!")
n = input("How many numbers to sum up?: ")
while n <= 0:
print("You have to write a positive integer; try again!")
n = input("How many numbers to sum up?: ")
i = 1
sum = 0
while 0 < i <= n:
print(i,"*",i,"=", i**2)
sum += i**2
i += 1
print("Sum:", sum)
これで、ユーザーが負の数を入力したときのエラー メッセージをコーディングすることができました。ただし、ユーザーが「fifteen」などの文字列を入力したときのエラー メッセージをコーディングするのに苦労しています。
プログラムで、ユーザーが負の数を入力したかのように、値 'n' を何度も割り当てられるようにしたいと考えています。基本的に、ユーザーが文字列を入力すると、同じことを何度も要求するループをコーディングしたいと考えています。
問題は、input() が常に任意の変数に文字列を代入することなので、文字列を整数に変換するコードを書いてみました。ユーザーが整数値を入力すると問題なく動作しますが、「n」が整数でない場合は int(n) を定義できません。
私はこの問題に関して多くのことをグーグルで調べました.tryとexcept ValueErrorを使用したいくつかの例を見つけましたが、それらのどれもそれからループを作成できないようです.
誰かがアイデアを得ましたか?