J'essaie de créer un programme simple pour calculer l'équilibre de la transaction. Tout fonctionne bien, sauf que mes programmes ignorent le premier élément de la liste. J'essaie de trouver ce que j'ai manqué ...Foreach boucle sauter le premier élément sans aucune sorte de fonction pop/remove
Fondamentalement, l'entrée est au format ('D 100', 'W 50'), etc. où D désigne dépôt et W dénote. Le solde initial est supposé être 0.
Voici mon code:
# While loop for continuous input
def WhileInputActive(function,List=None):
while True:
inputVariable = input();
if (inputVariable is None) or (not inputVariable):
break;
if (List is None):
function(inputVariable);
else:
function(List,inputVariable);
def PlaceInList(List,Input):
List.append(Input);
def CalculateTransactionBalance():
Input = input();
List = []
amount = 0
WhileInputActive(PlaceInList,List)
for item in List:
Type=item[0]
string = ''
for num in item:
if(num.isdigit()):
string+=str(num)
if(Type == 'D'):
amount += int(string)
else:
amount -= int(string)
print(int(amount))
CalculateTransactionBalance()
Voici l'entrée:
D 300
D 300
W 200
D 100
Voici la sortie:
200
Le la sortie attendue est de 500, mais le programme saute la première entrée (j'ai fait un peu de creuser sur la cause de l'impression 200 ins tead of 500)