Ich schreibe ein einfaches Zahlen Ratespiel und ich kann meinen Code nicht in SublimeREPL oder meiner Konsole ausführen. Der einzige Weg, wie ich es in Team Treehouse Workspaces Programm ausführen kann, und es funktioniert genau so, wie es soll. Aber sowohl in meiner Konsole als auch in SublimeREPL heißt es, dass es mehrere Einrückungsfehler gibt. Was gibt?? Ich weiß, Python ist nervig über seine Einrückung, so dass ich meine sublime Einstellungen so geändert habe, dass jede Registerkarte vier Leerzeichen ist, aber es immer noch nicht ausgeführt wird - wirft etwa zehn Einrückungsfehler, aber soweit ich sagen kann, ist alles genau eingerückt sollte sein. Ich habe mehrere Suchen ohne Ergebnisse ausprobiert, und ich bin am Ende meines Wissens nicht in der Lage, ein so einfaches Programm zum Laufen zu bekommen! Ich meine, warum würde Code in einer Umgebung arbeiten, aber nicht in einer anderen? Ich kopieren und den Code einfügen, damit es nicht anders ...Warum läuft mein Code auf einem Programm, aber nicht auf dem anderen?
Hier ist der Code:
import random
#safely make an int
#limit guesses
#too high, too low, messages
#play again
def game():
#generate number
secret_number = random.randint(1, 10)
guesses = []
while len(guesses) < 5:
try:
#get num guess from user
guess = int(input("Guess a number between 1 and 10: "))
except ValueError:
print("That's not a valid number, try again.")
else:
#compare guess to secret number
if guess == secret_number:
#print hit/miss
print("You got it! My number was {}".format(secret_number))
break
else:
print("That's not it! Guess again!")
guesses.append(guess)
game()
Hinweis: dieser Code perfekt auf Team Treehouse arbeitet. Hier ist der Fehler, den ich in SublimeREPL und mein Terminal erhalten:
Guess a number between one and ten: Traceback (most recent call last):
File "<stdin>", line 2, in <module>
File "<string>", line 1
if guess == secret_num:
^
SyntaxError: invalid syntax
>>> File "<stdin>", line 1
print("You got it!")
^
IndentationError: unexpected indent
>>> File "<stdin>", line 1
break
^
IndentationError: unexpected indent
>>> File "<stdin>", line 1
else:
^
IndentationError: unexpected indent
>>> File "<stdin>", line 1
print("That's not it!")
^
IndentationError: unexpected indent
>>> >>>
würde ich ernsthaft Werkzeuge bevorzugen andere als Workspaces zu verwenden, so kann ich meine eigenen Code auf meinem Rechner, aber ich weiß nicht, ob dieser Code wird sogar tatsächlich arbeiten, oder wenn ich nur verschwende meine Zeit lernen Müll ...
Das bedeutet wahrscheinlich, dass Sie Leerzeichen und Tabs zum Einrücken mischen, was Sie nicht tun sollten. Einige IDEs handhaben das gut, andere nicht. – Carcigenicate
Ich weiß, dass pycharm automatisch viel davon für Sie reparieren kann. Ich denke, viele andere Redakteure werden das auch tun. – bravosierra99
Überprüfen Sie in der IDE, in der es funktioniert, ob es eine Option zum Konvertieren aller Einrückungen in Leerzeichen oder Registerkarten gibt. Stellen Sie dann sicher, dass Sie konsistent sind in was Sie einrücken. – Carcigenicate