Neden bu hatayı almaya devam ediyorum? Sanırım raw_input() bir input() olarak okunuyor ve kullanıcıların bir string olarak girdiğini göremiyor. Bunu nasıl değiştirebileceğimi bilmiyorum, işe yarayabilir. Ve, hayır, soru: "Python 2.7, kullanıcı girişi ve alıntı olmadan dize olarak işleniyor" sorusunu yanıtlamıyor.Bir dizgiyi değişkene döndürme (unary + için kötü işlenen türü: '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 + " ")))
bu hatayı recieving devam:
NameError: name 'input' is not defined
Muhtemelen bu bölüm işaret ediyor: raw_input ("Enter", + i + ""). Bununla neyin yanlış olduğunu görüyor musun? –
@Penguin: Önce bir değişkene "raw_input" ("Enter", + i + "") 'a atayın ve sonra" raw_input "'ın şimdi olduğu yerde değişken yerleştirin. Yani: 'a = raw_input (" Enter ", + i +" ")' ve sonra 'exec ("% s =% s "% (i [3 ::], a)'. –
Bunun olduğunu görüyorum Bu kodla ilgili bir soruyu sorduğunuz ikinci soru ve her ikisi de bu sitede zaten yanıtlanmış konularla ilgilidir. Lütfen sormadan önce sorularınızı araştırmak için biraz daha zaman ayırın. "site: stackoverflow" ile istisna ismini kullanmaya çalışın. com "diğer SO cevapları görmek için. – skrrgwasme