所以我基本上创建了我的函数(def main(),load(),calc()和print()。 但我不知道如何允许用户输入他/她想要的信息,直到他们想要停止。就像我输入5次,它也会输出5次。我已经尝试将while循环放在def main()函数和加载函数中,但是当我想要它时它不会停止。有人可以帮忙吗?谢谢!
def load():
stock_name=input("Enter Stock Name:")
num_share=int(input("Enter Number of shares:"))
purchase=float(input("Enter Purchase Price:"))
selling_price=float(input("Enter selling price:"))
commission=float(input("Enter Commission:"))
return stock_name,num_share,purchase,selling_price,commission
def calc(num_share, purchase, selling_price, commission):
paid_stock = num_share * purchase
commission_purchase = paid_stock * commission
stock_sold = num_share * selling_price
commission_sale = stock_sold * commission
profit = (stock_sold - commission_sale) - ( paid_stock + commission_purchase)
return paid_stock, commission_purchase, stock_sold, commission_sale, profit
def Print(stock_name,paid_stock, commission_purchase, stock_sold, commission_sale, profit):
print("Stock Name:",stock_name)
print("Amount paid for the stock:\t$",format(paid_stock,'10,.2f'))
print("Commission paid on the purchase:$", format(commission_purchase,'10,.2f'))
print("Amount the stock sold for:\t$", format(stock_sold,'10,.2f'))
print("Commission paid on the sale:\t$", format(commission_sale,'10,.2f'))
print("Profit(or loss if negative):\t$", format(profit,'10,.2f'))
def main():
stock_name,num_share,purchase,selling_price,commission = load()
paid_stock,commission_purchase,stock_sold,commission_sale,profit = calc(num_share, purchase, selling_price, commission)
Print(stock_name, paid_stock,commission_purchase, stock_sold, commission_sale, profit)
main()
答案 0 :(得分:2)
您必须向用户提供某种方式来声明他们希望停止输入。代码的一种非常简单的方法是将main()
函数的整个主体包含在while
循环中:
response = "y"
while response == "y":
stock_name,num_share,purchase,selling_price,commission = load()
paid_stock,commission_purchase,stock_sold,commission_sale,profit = calc(num_share, purchase, selling_price, commission)
Print(stock_name, paid_stock,commission_purchase, stock_sold, commission_sale, profit)
response = input("Continue input? (y/n):")
答案 1 :(得分:1)
更简单的方法是两个做以下......
while True:
<do body>
answer = input("press enter to quit ")
if not answer: break
可替换地 初始化变量并避免使用内部if语句
sentinel = True
while sentinel:
<do body>
sentinel = input("Press enter to quit")
如果输入被按下,则将sentinel设置为空str,将评估为False结束while循环。