当用户在Python中要求使用整个函数时,我如何调用它?
我是Python新手,我试图弄清楚如果用户输入“Y”,如何创建和if循环来重新启动整个函数(在本例中为programOutput函数)。此外,如果我对Class和def的使用完全错误,那么我欢迎提供帮助和建设性的批评。谢谢当用户在Python中要求使用整个函数时,我如何调用它?,python,function,class,if-statement,while-loop,Python,Function,Class,If Statement,While Loop,我是Python新手,我试图弄清楚如果用户输入“Y”,如何创建和if循环来重新启动整个函数(在本例中为programOutput函数)。此外,如果我对Class和def的使用完全错误,那么我欢迎提供帮助和建设性的批评。谢谢 import math class userEntry: userName = input("Enter Customer Name: ") userQuantityPurchased = int(input("Enter Q
import math
class userEntry:
userName = input("Enter Customer Name: ")
userQuantityPurchased = int(input("Enter Quantity Purchased: "))
userPrice = int(input("Enter Price per Unit: "))
class taxCalculator:
stateTax = .09
countyTax = .05
discountRate = .1
salesAmount = float(str(userEntry.userQuantityPurchased * userEntry.userPrice))
stateCalculator = str(salesAmount * stateTax)
countyCalculator = str(salesAmount * countyTax)
totalTax = sum = float(stateCalculator) + float(countyCalculator)
grossSales = sum = float(salesAmount) - float(totalTax)
discount = sum = float(discountRate) * float(salesAmount)
netSales = sum = float(grossSales) - float(discount)
programOutput()
def programOutput():
print("---------------------------------------")
print("Here is your Net Sale!")
print("---------------------------------------")
print("Customer Name: ", userEntry.userName)
print("Sales Amount: ", "$", taxCalculator.salesAmount)
print("Total Taxes: ", "$", taxCalculator.totalTax)
print("---------------------------------------")
print("\n")
print("Gross Sales: ", "$", taxCalculator.grossSales)
print("Discount: ", "$", taxCalculator.discount)
print("\n")
print("---------------------------------------")
print("\n")
print("Net Sales: ", "$", taxCalculator.netSales)
print("---------------------------------------")
print("---------------------------------------")
print("\n")
print("Thank you for your business!")
print("\n")
nextSale = input("Do you want to process another sale? (Y/N): ")
if nextSale == 'Y':
programOutput()
使用循环,而不是递归 您需要将请求输入的代码放入循环中,否则您将继续打印相同的值
def programOutput():
print("---------------------------------------")
print("Here is your Net Sale!")
print("---------------------------------------")
print("Customer Name: ", userName)
print("Sales Amount: ", "$", salesAmount)
print("Total Taxes: ", "$", totalTax)
print("---------------------------------------")
print("\n")
print("Gross Sales: ", "$", grossSales)
print("Discount: ", "$", discount)
print("\n")
print("---------------------------------------")
print("\n")
print("Net Sales: ", "$", netSales)
print("---------------------------------------")
print("---------------------------------------")
print("\n")
print("Thank you for your business!")
print("\n")
while True:
userName = input("Enter Customer Name: ")
userQuantityPurchased = int(input("Enter Quantity Purchased: "))
userPrice = int(input("Enter Price per Unit: "))
stateTax = .09
countyTax = .05
discountRate = .1
salesAmount = float(str(userEntry.userQuantityPurchased * userEntry.userPrice))
stateCalculator = str(salesAmount * stateTax)
countyCalculator = str(salesAmount * countyTax)
totalTax = sum = float(stateCalculator) + float(countyCalculator)
grossSales = sum = float(salesAmount) - float(totalTax)
discount = sum = float(discountRate) * float(salesAmount)
netSales = sum = float(grossSales) - float(discount)
programOutput()
nextSale = input("Do you want to process another sale? (Y/N): ")
if nextSale.lower() == 'n':
break
不需要类,只需设置普通变量。或者您可以定义返回值的函数,并在循环中分配它们。这是使用类的一种非常不寻常的方式。类通常用于创建类的实例,它们有方法定义。谢谢!但现在,当输入为“Y”时,它只是重新打印“您想处理另一笔销售吗?”问题,而不是重新打印整个程序。有什么办法吗?不应该这样。它应该返回到
userName=input(“输入客户名称”)