Foreach 循环跳过第一项而没有任何 pop/remove 函数
Foreach loop skipping over first item without any sort of pop/remove function
我正在尝试创建一个简单的程序来计算交易余额。一切正常,除了我的程序跳过了列表中的第一项。我想找出我错过了什么...
基本上,输入的格式为 ('D 100' , 'W 50' ) 等,其中 D 表示存款,W 表示取款。假设初始余额为0.
这是我的代码:
# 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()
这是输入:
D 300
D 300
W 200
D 100
这是输出:
200
预期的输出是 500,但程序跳过了第一个条目(我对打印 200 而不是 500 的原因做了一些挖掘)
您在 WhileInputActive
函数之外调用 input() 并且不对其读取的数据执行任何操作。具体来说,CalculateTransactionBalance:
里面的这一行
Input = input();
我正在尝试创建一个简单的程序来计算交易余额。一切正常,除了我的程序跳过了列表中的第一项。我想找出我错过了什么...
基本上,输入的格式为 ('D 100' , 'W 50' ) 等,其中 D 表示存款,W 表示取款。假设初始余额为0.
这是我的代码:
# 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()
这是输入:
D 300
D 300
W 200
D 100
这是输出:
200
预期的输出是 500,但程序跳过了第一个条目(我对打印 200 而不是 500 的原因做了一些挖掘)
您在 WhileInputActive
函数之外调用 input() 并且不对其读取的数据执行任何操作。具体来说,CalculateTransactionBalance:
Input = input();