Bevor ich diese Frage schrieb, suchte ich im Forum nach etwas ähnlichem, fand aber keins. Also hier ist meine Version des Ratespiels. Ich möchte, dass der Benutzer eine Zahl von 0 bis 10 erraten kann, die der Computer "gedacht" hat. Aber ich möchte den Unterschied der Zahlen berechnen und zeigen, ob der Benutzer in der Nähe ist oder nicht die richtige Zahl herauszufinden. Mein Code ist wie folgt:Ein anderes Ratespiel in Python, mit einem kleinen Unterschied
import math
import random
intnum = random.randrange(0,11)
print(intnum)
print ("The computer generated a random number from 0 to 10! Can you guess it?")
guess = 0
while guess != intnum:
guess = int(input ("Pick a number!!: "))
num = abs(guess-intnum)
print (num)
if (num==0):
print ("Congrats! The answer is %s" % (guess))
break
elif (num>0 or num<=2):
print ("You are less than 2 away. Keep going!")
elif (num>2 or num<=5):
print ("You are more than 2 away. Try again!")
elif (num>5):
print ("You are more than 5 away!! Try again.")
ich die Computer-Nummer und den Unterschied zu drucken, um meine Fehler leicht zu finden. Es gibt einen logischen Fehler, den ich nicht lösen kann. Wenn der Computer eine Nummer 9 generiert, und ich denke, eine Nummer 1, ist der Unterschied 9-1 = 8. Aber das Programm, druckt "Sie sind weniger als 2 weg", was falsch ist. Was mache ich falsch? Ich möchte das in einer größeren Version mit mehr Zahlen verwenden, aber für Anfänger habe ich es ein wenig verkleinert, um die richtige Logik und Syntax zu finden.
'num Um dies zu tun, müssen Sie sicherstellen, dass die Zahl größer ist, dass die untere und gebunden niedriger als die obere Schranke
Sie müssen die
or
-and
ändern> 0 oder num < = 2' ergibt True, wenn Num acht ist, weil acht größer als Null ist. – KevinVersuchen Sie 'und' eher als 'oder' – doctorlove
arztlove Ich versuchte mit und anstelle von oder, es hat nicht funktioniert. Wie sich herausstellte, musste ich nur eine Zahl <= 2 schreiben, da ich bereits die obige Bedingung habe. –