2017-07-11 10 views
-1
randNum = random.randrange (1,3) 
    NameMale = ['Noah'] 
    NameFemale = ['Alyna'] 
    Job = ['Accountant'] 
    Age = random.randrange (18,81) 
    Gender = ['Male', 'Female'] 
    Company = ['State Farm'] 
    Event = ['A drunk driver hit me head-on'] 
    if randNum == 1: 
     print ("Hi. I'm {}. I'm {} years old, and I was a(n) {} at {}. That is, until everything changed. One day, {}.").format((random.choice(NameMale)),(random.choice(Age)),(random.choice(Job)),(random.choice(Company)),(random.choice(Event))) 

エラーメッセージ:

Traceback (most recent call last): 
    File "/home/pi/Scenario Generator.py", line 14, in <module> 
    print ("Hi. I'm {}. I'm {} years old, and I was a(n) {} at {}. That is, until everything changed. One day, {}.").format((random.choice(NameMale)),(random.choice(Age)),(random.choice(Job)),(random.choice(Company)),(random.choice(Event))) 
    File "/usr/lib/python2.7/random.py", line 275, in choice 
    return seq[int(self.random() * len(seq))] # raises IndexError if seq is empty 
TypeError: object of type 'int' has no len() 

これはどこから来ている、何を意味し、そしてどのように私はそれを解決することができますか?"int型のオブジェクトにはlen()"がありません。

+0

https://stackoverflow.com/questions/53162/how-can-i-do-a-line-break-line-continuation-in-pythonを見て、印刷文を複数の行に表示させる可読性。 –

答えて

2

コールrandom.randrange(18, 81)は、シーケンスではなく整数を返します。 random.choice(Age)を呼び出すとエラーが発生します。

+0

年齢を18歳から18歳の間にしたい場合は、Age = range(18,81)とし、choice(年齢) – gtalarico

0

あなたが見ることができるようにあなたがrandom.choice()のパラメータrandom.choice(Age)

関数を呼び出すとき、エラーがrandom.pyという名前のモジュールから来たのはsequenceないintegerでなければなりません。

があなたのAge可変1つのより多くの時間をチェック

0

変更年齢= random.randrange(18,81)

年齢= [random.randrange(18,81)]

にrandom.randrageは数値を返しますchoiceはシーケンスを期待します。

関連する問題