这个python代码有改进吗?

这个python代码有改进吗?,python,python-3.x,counting,Python,Python 3.x,Counting,我写下了非常简单的Python代码来添加各种美元纸币或硬币,结果显示代码非常长。请告诉我,如果有一个改进,以便我可以使它更有效 #用户输入 a=int(输入('输入百位数:')) b=int(输入('输入五十位数:')) c=int(输入('输入二十位数:')) d=int(输入('输入十位数:')) e=int(输入('输入五的数目:')) f=int(输入('输入一的数字:')) g=int(输入('输入季度数:')) h=int(输入('输入一角硬币的数量:')) i=int(输入('输入

我写下了非常简单的Python代码来添加各种美元纸币或硬币,结果显示代码非常长。请告诉我,如果有一个改进,以便我可以使它更有效

#用户输入
a=int(输入('输入百位数:'))
b=int(输入('输入五十位数:'))
c=int(输入('输入二十位数:'))
d=int(输入('输入十位数:'))
e=int(输入('输入五的数目:'))
f=int(输入('输入一的数字:'))
g=int(输入('输入季度数:'))
h=int(输入('输入一角硬币的数量:'))
i=int(输入('输入镍币数:'))
j=int(输入('输入便士数:'))
洪德福(k):
返回100*k
def fif(l):
返回50*l
def twe(m):
返回20*m
def十(n):
返回10*n
def fiv(o):
返回5*o
def 1(p):
返回1*p
def qua(q):
返回0.25*q
def变光(右):
返回。10*r
def nic(多个):
返回0.05*s
def笔(t):
返回0.01*t
#最终计算
总数=匈奴(a)+先进(b)+twe(c)+十(d)+先进(e)+一(f)+质量(g)+尺寸(h)+nic(i)+笔(j)
打印('总金额为$',总计)

您可以使用字典和
sum()方法改进代码:

c = {'hundreds':100,
     'fifties':50,
     'twenties':20,
     'tens':10,
     'fives':5,
     'one':1,
     'quarters':.25,
     'dimes':.1,
     'nickels':.05,
     'pennies':.01}

total = sum(int(input(f"Enter the number of {k}: "))*c[k] for k in c)

print(f"The total amount is ${total}.")

您可以使用字典和
sum()
方法改进代码:

c = {'hundreds':100,
     'fifties':50,
     'twenties':20,
     'tens':10,
     'fives':5,
     'one':1,
     'quarters':.25,
     'dimes':.1,
     'nickels':.05,
     'pennies':.01}

total = sum(int(input(f"Enter the number of {k}: "))*c[k] for k in c)

print(f"The total amount is ${total}.")

要求改进工作代码风格的问题应发布到。但是请看,我投票结束这个问题,因为它并没有试图解决一个特定的编程问题。正如@Barmar所指出的,它更适合于。要求改进工作代码风格的问题应发布到。但是请看,我投票结束这个问题,因为它并没有试图解决一个特定的编程问题。正如@Barmar所指出的,它更适合于。