Ich schreibe ein einfaches wärmer/kälter Anzahl Ratespiel in Python.Python Warm/Kalt Deklarieren Variable außerhalb while-Schleife
Ich habe es funktioniert, aber ich habe einige duplizierten Codes, die ein paar Probleme verursacht, und ich bin nicht sicher, wie es zu beheben.
from __future__ import print_function
import random
secretAnswer = random.randint(1, 10)
gameOver = False
attempts = 0
currentGuess = int(input("Please enter a guess between 1 and 10: "))
originalGuess = currentGuess
while gameOver == False and attempts <= 6:
currentGuess = int(input("Please enter a guess between 1 and 10: "))
attempts += 1
originalDistance = abs(originalGuess - secretAnswer)
currentDistance = abs(currentGuess - secretAnswer)
if currentDistance < originalDistance and currentGuess != secretAnswer:
print("Getting warmer")
elif currentDistance > originalDistance:
print("Getting colder")
if currentDistance == originalDistance:
print("You were wrong, try again")
if currentGuess == secretAnswer or originalGuess == secretAnswer:
print("Congratulations! You are a winner!")
gameOver = True
if attempts >= 6 and currentGuess != secretAnswer:
print("You lose, you have ran out of attempts.")
gameOver = True
print("Secret Answer: ", secretAnswer)
print("Original Dist: ", originalDistance)
print("Current Dist: ", currentDistance)
Sie fragt nach Eingabe, bevor ich die Schleife eingeben, die mir zu erlauben, ist eine ursprüngliche Vermutung Variable zu setzen hilft mir den Abstand von meiner geheimen Antwort zu erarbeiten.
Da jedoch dieser Eingang vor der Schleife erfordert Hohlräume es jede Validierung/Logik, die ich dort habe wie die if-Anweisungen erfordert dann Eingang direkt nach dieser Vermutung, jetzt innerhalb der Schleife.
Gibt es eine Möglichkeit für mich, originalGuess innerhalb der Schleife zu deklarieren, ohne dass es auf die Benutzereingabe aktualisiert wird, rate jede Iteration oder umgekehrt, ohne currentGuess zu duplizieren?
Dank
Wenn ich das zwar tun, wie ich bin der Lage, die originalDistance und currentDistance zu unterscheiden, da sie auf die Speicherung der originalGuess verlassen? Was, wenn ich innerhalb der Schleife deklariere, wird mit jeder Iteration der Benutzereingabe aktualisiert – FrasKyl