-1
print ("\n" * 100)
def weight_rep():
rep = 0
try:
rep = int(input("How many times would you like to enter a weight?\n"))
return rep
except ValueError:
print ("\n" * 100)
print("*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*")
print("You must enter a valid number that is:\n1) Whole\n2) Positive")
print("*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*")
weight_rep()
return rep
rep = weight_rep()
weight = []
for i in range (0, (rep)):
weightn = int(input("Please input weight " + str(i+1) +":\n"))
weight.append(weightn)
print (weight[i])
mean = sum(weight)/int(len(weight))
print("The average weight of these fruits is {0:.2f}g".format(mean))
Wenn ich eine richtige Nummer in der ersten Stufe ein, dieser einfache Code trägt wie erwartet auf, aber wenn ich etwas eingeben, die die weight_rep() Funktion wiederholt und dann etwas eingeben, um die Funktion kehrt nonetypePython Validierungsfunktion kehrt nonetype
Nicht wahr. Diese Funktion kann None nicht zurückgeben. –
Ihr rekursives Funktionsaufrufergebnis wird ignoriert. Im Falle eines Fehlers im ersten Versuch gibt Ihre veröffentlichte Version daher '0', * immer * zurück. Sie sollten die Rekursion hier sowieso nicht verwenden, sehen Sie das erste Duplikat, auf das ich Sie hinweise (Laden Sie die Seite neu). –
Verwende 'rep = weight_rep()' oder einfach 'return weight_rep()' in 'except' part – Primoz