このエラーは引き続き発生しますか?私は、raw_input()がinput()として読み込まれていると思って、ユーザー入力を文字列として見ることができません。どのように私はこれが動作するようにこれを変更することができますか分かりません。そして、いいえ、質問:「Python 2.7はユーザー入力を受け取り、引用符を使わずに文字列として操作する」は私の質問に答えません。文字列を変数に変換する(unary +: 'str'の不良オペランドタイプ)
options = ["An animal", "A food", "A fruit", "A number", "A superhero name", "A country", "A dessert", "A year"]
#"options" become variables
for i in options:
if i[0:3] == "An ":
exec("%s = %s" % (i[3::], raw_input("Enter " + i + " ")))
else:
exec("%s = %s" % (i[2::], raw_input("Enter " + i + " ")))
私はこのエラーが供給保つ:
NameError: name 'input' is not defined
おそらくこの部分を指しているでしょう。 raw_input( "Enter"、+ i + "") '。あなたは何が間違っているのを見ますか? –
@Penguin: 'raw_input(" Enter "、+ i +" ")'を変数に割り当て、次に 'raw_input'があるところに変数を置きます。したがって、 'a = raw_input(" Enter "、+ i +" ")'、そして 'exec("%s =%s "%(i [3 ::]、a)'。 –
これは2時間前に質問したこのコードに関するもう1つの質問は、このサイトですでに回答済みのトピックに関するものです。ここで質問する前に、質問を調べてください。 "site:stackoverflow"で例外名を検索してみてください。 com "を参照して他のSOの回答を確認してください。 – skrrgwasme