【发布时间】:2021-03-15 12:38:55
【问题描述】:
我正在研究如何用python制作账本。
我想从“购买类”的项目中制作一个系列:使用我在 set_item() 输入的值,以便在 wallet_info 过程中打印“名称、价格、更改” ,但我不知道如何解决这个问题。
这是我的不完整代码,请先不要关心底部的def print_r和elifs:
import pandas as pd
args=sys.argv[1:]
class Buy:
def __init__(self, name, money):
self.name=name
self.wallet=1000
self.money=money
def print_r(self):
print(self.name, self.money, self.wallet)
def wallet_info(self):
self.name=name
self.wallet-=self.money
self.money=money
print("you have", self.wallet, "now")
while True:
answer=input("is it finished? (y/n) ")
if answer=="y" or answer=="n":
break
else:
print("wrong answer")
continue
if answer=="y":
break
else:
continue
def set_item():
name=input("what? ")
money=int(input("how much? "))
item=Buy(name,money)
return item
def run():
buyname=[]
buymoney=[]
for i in args:
if i=="w":
item=set_item()
buyname.append(name)
buymoney.append(money)
buylist=pd.Series(dtype='int', data=buymoney, index=buyname)
buylist.loc[name]=money
wallet_info(name)
elif i=="r":
list1(self)
elif i=="x":
x()
else:
print("wrong input")
if __name__=="__main__":
run()
如果你能帮助我,我将非常感激。
【问题讨论】:
-
我想从“购买类”的项目中制作一个系列。不,你没有。如果你想为
Buy类存储对象,你最好使用一个普通的列表。 Pandas 基于 numpy,更擅长存储数值、日期或时间值以及字符串。如果你想走 Pandas 的方式,你应该使用 DataFrame,其中列是Buy类的属性,直接存储 simple 类型。
标签: python pandas function class series