Mein aktuelles Stück Code ist dafür gemacht: "Drucke alle perfekten Quadrate von Null bis zu einem bestimmten Maximum. Diese Version ist umgestaltet zu machen es verständlicher und wartungsfreundlicher. "nicht unterstützte Operandentypen für +: 'NoneType' und 'int'
Derzeit mein Problem ist in Bezug auf dieses Stück Code:
def read_bound(prompt):
"""Reads the upper bound from the standard input (keyboard).
If the user enters something that is not a positive integer
the function issues an error message and retries
repeatedly"""
upper_bound = None
while upper_bound is None:
line = input(prompt)
if line.isnumeric():
return int(line)
else:
print("You must enter a positive number.")
Auf die Hauptfunktion aufrufen:
def main():
"""Bring everything together"""
lower_bound = read_bound("Enter the lower bound: ")
upper_bound = read_bound("Enter the upper bound: ")
squares = []
for num in range(lower_bound, upper_bound + 1):
if is_perfect_square(num):
squares.append(num)
print_squares(lower_bound, upper_bound, squares)
ich den Fehler:
builtins.TypeError: nicht unterstützt Operandentyp (en) für +: 'NoneType' und 'int'
Warum ist die Tanne? Das vom Benutzer gegebene st Objekt ist vom Typ 'none', aber das zweite ein 'int'. Ich wünsche ihnen, dass sie beide ganzzahlig sind. Was mache ich falsch?
Beide Antworten gegeben waren identisch und behoben mein Problem. Dementsprechend wurde mein Code in der Frage geändert. Vielen Dank!
Ist die Vertiefung Ihrer Frage richtig für 'read_bound'? Wenn nicht, bitte [edit] und fix –
'read_bound()' gibt nichts zurück –