2012-03-15 11 views
1

こんにちは私はちょうどPythonでプログラミングを始めましたが、私はRNGを作成しようとしていましたが、私が理解できないエラーがいくつかあります。Python乱数ジェネレータエラー

は、ここでは、コード

import random 
import time 

numbersGenerated = 0 

print('Hello! How many numbers do you want?') 
numbersNeeded = input() 
print('What would you like the minimum for the numbers be?') 
Min = input() 
print('And the maximum?') 
Max = input() 

numbersNeeded = str(numbersNeeded) 
numbersGenerated = str(numbersGenerated) 

while numbersGenerated < numbersNeeded: 
    number = random.randint(Min, Max) 
    number = int(number) 

    numbersGenerated = numbersGenerated + 1 

    print(number) 
    print() 
    time.sleep(2) 

print('All done. Hope to see you again!') 

は、トレースバックエラーが

File "C:/Python32/Number_Generator.py", line 20, in <module> 
number = random.randint(Min, Max)  
File "C:\Python32\lib\random.py", line 215, in randint 
return self.randrange(a, b+1) 
TypeError: Can't convert 'int' object to str implicitly 

を言う私は、ライン13を変更していますし、また、intにそれが結果を変更しませんでした。 Pythonの3では

答えて

1

、あなたが明示的にinputからの入力を変換する必要があります。numbersGeneratednumbersNeededはおそらくない文字列、あるときは、while numbersGenerated < numbersNeededを行っている

Min = int(input()) 

Max = int(input()) 
4
  1. あなたが望んでいたもの。

  2. random.randint(Min, Max)MinMaxは文字列であり、整数である必要があります。

  3. number = int(number)の必要はありません。すでにintになります。

  4. numbersGenerated = numbersGenerated + 1再び、変数は文字列がある