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
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
Problem mit input() in for loop
`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.
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