如何在Python中的每个命令之后显示所有输入
我有个问题 我想在“查看”命令中显示所有记录,但它只显示最后一条记录 我如何解决这个问题 请帮帮我,谢谢 我的代码:如何在Python中的每个命令之后显示所有输入,python,Python,我有个问题 我想在“查看”命令中显示所有记录,但它只显示最后一条记录 我如何解决这个问题 请帮帮我,谢谢 我的代码: initial_money = int(input('How much money do you have? ')) def records(): return def add(records): records = input('Add an expense or income record with description and amount:\n')
initial_money = int(input('How much money do you have? '))
def records():
return
def add(records):
records = input('Add an expense or income record with description and amount:\n').split()
global rec
rec = records[0]
global amt
amt = records[1]
global initial_money
initial_money += int(amt)
def view(initial_money, records):
print("Here's your expense and income records:")
print("Description Amount")
print("------------------- ------")
print('{name:<20s} {number:<6s}'.format(name = rec,number = amt))
print('Now you have {} dollars.'.format(initial_money))
while True:
command = input('\nWhat do you want to do (add / view / delete / exit)? ')
if command == 'add':
records = add(records)
elif command == 'view':
view(initial_money, records)
我想要的输出:
------------------- ------
tomato -50
salary 100
Now you have 150 dollars.
您需要在插入的记录列表中创建记录。当前,每次调用add时都会覆盖它
另外,为了获得额外的好处,停止在add函数中使用global,这被认为是一种不好的形式您需要在插入的记录列表中创建记录。当前,每次调用add时都会覆盖它
还有一点值得注意的是,不要在add函数中使用global,它被认为是糟糕的形式我将使用字典来保存它们:
initial_money = int(input('How much money do you have? '))
mr = {}
def records():
return
def add(records):
records = input('Add an expense or income record with description and amount:\n').split()
global rec
rec = records[0]
global amt
amt = records[1]
global mr
global initial_money
mr[rec] = int(amt)
initial_money += mr[rec]
def view(initial_money, records):
print("Here's your expense and income records:")
print("Description Amount")
print("------------------- ------")
for r,a in mr.items():
print('{name:<20s} {number:<6s}'.format(name = r,number = str(a)))
print('Now you have {} dollars.'.format(initial_money))
while True:
command = input('\nWhat do you want to do (add / view / delete / exit)? ')
if command == 'add':
records = add(records)
elif command == 'view':
view(initial_money, records)
我将使用字典来保存它们:
initial_money = int(input('How much money do you have? '))
mr = {}
def records():
return
def add(records):
records = input('Add an expense or income record with description and amount:\n').split()
global rec
rec = records[0]
global amt
amt = records[1]
global mr
global initial_money
mr[rec] = int(amt)
initial_money += mr[rec]
def view(initial_money, records):
print("Here's your expense and income records:")
print("Description Amount")
print("------------------- ------")
for r,a in mr.items():
print('{name:<20s} {number:<6s}'.format(name = r,number = str(a)))
print('Now you have {} dollars.'.format(initial_money))
while True:
command = input('\nWhat do you want to do (add / view / delete / exit)? ')
if command == 'add':
records = add(records)
elif command == 'view':
view(initial_money, records)
哦,真的,所以我应该删除全局和使用循环。哦,真的,所以我应该删除全局和使用循环。这解决了我的问题,但总金额似乎不正确。哦,现在是真的。谢谢!它解决了我的问题,但总的钱似乎不正确。哦,现在是真的。谢谢!
How much money do you have? 100
What do you want to do (add / view / delete / exit)? add
Add an expense or income record with description and amount:
tomato -50
What do you want to do (add / view / delete / exit)? add
Add an expense or income record with description and amount:
salary 100
What do you want to do (add / view / delete / exit)? view
Here's your expense and income records:
Description Amount
------------------- ------
tomato -50
salary 100
Now you have 150 dollars.