2016-07-28 10 views
-3

Ich versuche ein Schlachtschiff-Spiel zu erstellen, um meine Programmierung zu üben, aber ich habe Probleme, den Wert einer globalen Variable zu ändern.Ich habe Probleme, den Wert der globalen Variablen zu ändern


turnsover = 0 
diff = 0 
ship_row = 0 
ship_col = 0 

def difficulty(): 

    global diff 
    global turnsover 
    diff = input("Please select a difficulty\n 1=Easy \n 2=Meduim \n 3=Hard \n 4=VS Machine\n") 
    if diff.isdigit(): 
     diff = int(diff) 

     if int(diff) not in range(1,5): 
      print("Please select a correct difficulty level") 
      difficulty() 

     if diff == 1: 
      turnsover == 20 
      print("Difficulty level: Easy") 

     if diff == 2: 
      turnsover == 15 
      print("Difficulty level: Meduim") 

     if diff == 3: 
      turnsover == 10 
      print("Difficulty level: Hard") 

     if diff == 4: 
      turnsover == randint(1, 26) 
      print("Difficulty level: Vs Machine") 


     ####REMOVE AFTER PROD#### 
     print(turnsover) 
    else: 
     print("Please select a correct difficulty level") 
     difficulty() 

Der prod Testdruck von turnsover 0 zurück, statt den neuen Betrag von turnsover Rückkehr (aka Leben verbleibend)

+2

'turnsover == 20' Das überprüft, ob' turnover' gleich 20 ist. –

+0

Wenn Sie üben wollen, dann versuchen Sie den nächsten Schritt, um ein guter und verantwortungsbewusster Entwickler zu sein und ohne 'global' zu arbeiten. – Matthias

Antwort

0

Wie @MorganThrapp sagt, Sie überprüfen turnsover Gleichheit mit Code wie turnsover == 10 und keinen Wert wie folgt zuweisen: turnsover = 0. = bedeutet Zuweisung und == bedeutet Gleichheit. Dies sollte offensichtlich sein, da Sie Werte zu den globalen Variablen am Anfang Ihres Codes zuweisen.

Verwandte Themen