Problem mit input() in for loop

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
jmartens
User
Beiträge: 1
Registriert: Freitag 16. April 2021, 10:09

Hallo Ihr Lieben,

könntet Ihr mir bei meinem Problem weiterhelfen?
Ich wollte eine Funktion erstellen, die dem User die Möglichkeit gibt, auf verschiedene Tasks zu antworten, die ich gerne mit einem for Loop durch input() laufen lassen wollte.
Die input() Funktion erlaubt das aber nicht - Habt Ihr eine Lösung, wie das anders formulierbar wäre? Danke Euch :D

def efficient_day():
my_score = 0
user_answer = ""
Dos = ["work","cook","clean","work out"]
N = len(Dos)

for i in range(N) :
user_answer = input("Did you",i,"today?:")
if userincome == "Yes":
my_score + 1
Sirius3
User
Beiträge: 17778
Registriert: Sonntag 21. Oktober 2012, 17:20

`input` erwartet einen String, daher mußt Du einfach nur einen String bauen, was Du sowieso per Formatstring machen solltest.
Du willst wahrscheinlich auch nicht fragen ob Du heute 1 oder 2 oder 3 gemacht hast? Über einen Index iteriert man nicht, sondern direkt über die Elemente der Liste.
Das my_score hört sich komisch an, wenn Du dann per you fragst. Sollte das nicht your_score sein?
Variablen werden komplett klein geschrieben, Konstanten komplett gross.
`userincome` ist nirgends definiert und den leeren String, den Du an user_answer bindest, wird nie benutzt.
Die Rechnung `my_score + 1` solltest Du auch irgendwie weiterverarbeiten.

Code: Alles auswählen

ACTIONS = ["work","cook","clean","work out"]

def efficient_day():
    score = 0 
    for action in ACTIONS:
         user_answer = input(f"Did you {action} today?:")
         if user_answer == "Yes":
            score += 1
    return score
Antworten