我有这个家庭作业,我不打算改变这部分代码
def main():
pennies = get_input("Enter pennies : ")
nickels = get_input("Enter nickels : ")
dimes = get_input("Enter dimes : ")
quarters = get_input("Enter quarters : ")
print("You entered : ")
print("\tPennies : " , pennies)
print("\tNickels : " , nickels)
print("\tDimes : " , dimes)
print("\tQuarters : " , quarters)
total_value = get_total(pennies, nickels, dimes, quarters)
dollars, cents = get_left_over_cents(pennies, nickels, dimes, quarters)
left_over_cents = get_left_over_cents(pennies, nickels, dimes, quarters)
print("Total = $", format(total_value,".02f"), sep="")
print('You have', dollars, "dollars and", cents, "cent(s)")
Run Code Online (Sandbox Code Playgroud)
这是我完成的作业代码
def main():
pennies = get_input("Enter pennies : ")
nickels = get_input("Enter nickels : ")
dimes = get_input("Enter dimes : ")
quarters = get_input("Enter quarters : ")
print("You entered : ")
print("\tPennies : " , pennies)
print("\tNickels : " , nickels)
print("\tDimes : " , dimes)
print("\tQuarters : " , quarters)
total_value = get_total(pennies, nickels, dimes, quarters)
dollars, cents = get_left_over_cents(pennies, nickels, dimes, quarters)
left_over_cents = get_left_over_cents(pennies, nickels, dimes, quarters)
print("Total = $", format(total_value,".02f"), sep="")
print('You have', dollars, "dollars and", cents, "cent(s)")
def get_input(pennies):
pennies = input("Enter Pennies: ")
while int(pennies) < 0:
print("Error: money cannot be negative")
pennies = int(input("Enter correct amount of pennies: "))
return pennies
def get_input(nickels):
nickels = input("Enter nickels: ")
while int(nickels) < 0:
print("Error: money cannot be negative")
nickels = int(input("Enter correct amount of nickels: "))
return nickels
def get_input(dimes):
dimes = input("Enter dimes: ")
while int(dimes) < 0:
print("Error: money cannot be negative")
dimes = int(input("Enter correct amount of dimes: "))
return dimes
def get_input(quarters):
quarters = input("Enter quarters: ")
while int(quarters) < 0:
print("Error: money cannot be negative")
quarters = int(input("Enter correct amount of quarters: "))
return quarters
def get_total(pennies, nickels, dimes, quarters):
amount_pennies = (int(pennies) * .01)
amount_nickels = (int(nickels) * .05)
amount_dimes = (int(dimes) * .10)
amount_quarters = (int(quarters) * .25)
return amount_pennies + amount_nickels + amount_dimes + amount_quarters
def get_left_over_cents(pennies, nickels, dimes, quarters):
total = int(pennies) + 5*int(nickels) + 10*int(dimes) + 25*int(quarters)
return total // 100, total % 100
main()
Run Code Online (Sandbox Code Playgroud)
但每次我运行代码时,它都会告诉我进入4次宿舍.但我希望它能说进入便士,输入镍币等等.有人能帮我吗?我真的很困惑如何在不改变核心代码的情况下做到这一点
你不断重新定义你的get_input功能.每次执行此操作时,旧get_input功能都会蒙上阴影,变得不再可用.所以,最后,你只有get_input你为宿舍做的.
您需要重命名您的函数,以便每个函数都有一个唯一的名称,不会掩盖另一个函数.为什么不这样做:
def get_pennies(...):
...
def get_nickels(...):
...
def get_dimes(...):
...
def get_quarters(...):
...
Run Code Online (Sandbox Code Playgroud)
或者,更好的是,制作一个可以处理所有硬币类型的功能.(基本)示例如下:
def get_coin(coin_type):
amount = int(input("Enter " + coin_type + ": ")) # BTW, you forgot to call int() up here before.
while amount < 0:
print("Error: money cannot be negative")
amount = int(input("Enter correct amount of " + coin_type + ": "))
return amount
Run Code Online (Sandbox Code Playgroud)
然后,您将此函数称为:
pennies = get_coin('pennies')
nickels = get_coin('nickels')
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |