1

素数ジェネレーターを作成し、生成される素数の数をユーザーに指定してもらいたいと思いました。プログラムがエラーを返すことなく、「1000」をraw_inputに変更するにはどうすればよいのでしょうか。また、生成されたこのリストを.txtファイルに保存するにはどうすればよいですか?前もって感謝します

コード:

no_of_primes = 1
candidate = 2
start = 2
list_of_primes = []

while no_of_primes <= 5000:
    result = candidate % start

    if result > 0:
        start +=1

    elif result == 0:
        if start == candidate:
            list_of_primes.append(candidate)
            candidate +=1
            no_of_primes +=1
            start =2
        else:
            candidate +=1
            start = 2

print list_of_primes
4

1 に答える 1

3

まず、5000を変数(たとえば、primes_to_generate)に置き換えます。次に、ループの前に、の結果をwhile呼び出してその変数を設定します。はそれを文字列から数値に変換し、エラーを修正します。intraw_inputint

primes_to_generate = int(raw_input("How many to generate? "))

ブロックを使用しtryて、たとえば、誰かが「90」ではなく「90」と入力した場合のエラーをキャッチすることもできます。

try:
    primes_to_generate = int(raw_input("How many to generate? "))
except ValueError:
    print "Whoa! That's not a number I know!"
    # You'd probably then want to let the user retry
    # by enclosing this whole thing in a loop or something.
于 2013-02-10T00:23:02.143 に答える