首页 > 解决方案 > 我的程序在打印输出之前循环了两次

问题描述

我正在编写一个程序,使用函数获取乘客总数、票价总额和利润,这只是总票价的一半。我遇到的问题是它运行Please enter the number of passengers for bus1 : Please enter the number of passengers for bus2 : Please enter the number of passengers for bus3 : ***********了两次然后它给了我输出。我只需要它运行一次然后给出输出。这是我的代码:

def CalculateBus1():
    bus1 = input("Please enter the number of passengers for bus1 :")
    return bus1

def CalculateBus2():
    bus2 = input("Please enter the number of passengers for bus2 :")
    return bus2

def CalculateBus3():
    bus3 = input("Please enter the number of passengers for bus3 :")
    return bus3

bus1 = CalculateBus1()
bus2 = CalculateBus2()
bus3 = CalculateBus3()
total = (bus1+bus2+bus3)
fare = float(total*2.50)
profit = float(fare/2)
print("***********")
print"There are total {} passengers from three buses." .format(total)
print"The total fare earned is: ${}" .format(fare)
print"The net profit is: ${}" .format(profit)
print("***********")

标签: python

解决方案


您不需要先调用Calculate Bus1,2,3。删除代码:

CalculateBus1()
CalculateBus2()
CalculateBus3()

您正在做的是提示用户输入并在每个函数中返回输入。您没有将它们保存到变量中。这意味着如果你运行calculateBus1(),它会提示你输入,然后丢弃返回。所有你需要的是

total = (CalculateBus1()+CalculateBus2()+CalculateBus3())

这段代码的作用是运行您的CalculateBus 函数,这些函数反过来提示用户输入,然后对它们求和。


推荐阅读