2017-12-01 2 views
-2

finden Zahlen zeigen, und vergleicht mit einanderwarum ist ein Fehlercode für a2 definiert

zu sehen, ob sie größer oder kleiner nicht ist.

x = input("Your First Capacity? ") 
y = input("Your Second Capacity? ") 
z = input("Your Required Capacity? ") 

x = int(x) 
y = int(y) 
z = int(z) 

if x <= z: 
    if y != z: 
     if x != z: 
      a1 = x 
      b1 = y 

if y <= z: 
    if x != z: 
     if y != z: 
      a1 = y 
      b1 = x 

wenn eine Anzahl gleich der Code auf

if (x == z) or (y == z): 
    print("Required Capasity Already Reached") 


a1 = 0 
b1 = 0 
zur Herstellung a2

Aussagen trägt dosnt = die restlichen von a1 für 0-10. die restlichen von B1 von 0-10

if a1 == 0: 
    a2 = a1 

-Anweisungen für b2 = machen.

if b1 == 0: 
    b2 = b1 

a1 = a1 - 1 
b1 = b1 - 1 

Warum ist print(a2) eine 0 intead von 1 wenn a1 = 3 Rückkehr

Vielen Dank im Voraus.

Antwort

0

Es verursacht einen Fehler, weil Sie if-Anweisungen verwenden, um Ihre Eingabe mit einer Zeichenfolge zu vergleichen, wenn Sie sie (Ihre Eingabe) bereits in Ganzzahlen konvertiert haben. Sie sollten stattdessen

if a1 == 1: # Notice no quotation marks around the number. Important!! 
    a2 = a1 - 1 

verwenden, da Sie verwendet haben:

x = int(x) 
y = int(y) 
z = int(z) 

Sie müssen dies für alle ändern, wenn Aussagen.

Viel Glück!

+0

Vielen Dank, ich habe auf diesem seit –

+0

steckte könnte Sie versuchen, das neue Problem zu beantworten bitte, ich habe es bearbeitet –

+0

Ich bin mir nicht sicher, was Sie mit Ihrer neuen Frage meinen, müssen Sie jedes ändern, wenn zurück zu dem, was es war, nur ohne die Anführungszeichen.wenn a1 = 0: a2 = a1' wird immer nur 0 zurückgeben, da es gerade den gleichen Wert wie 'a1' erhalten hat, was 0. –

Verwandte Themen