Python 使用while循环创建函数

Python 使用while循环创建函数,python,function,while-loop,spyder,Python,Function,While Loop,Spyder,如何将旅行费用添加到适用于许多旅行费用的while循环(错误消息)中?我想使用while循环创建一个函数。就像没有在每次旅行后插入错误信息一样,我想创建一个函数来阻止自己重复。还有我使用spyder travelfare1=float(input("enter travel fare 1:" )) travelfare2=float(input("enter travel fare 2: ")) travelfare3=float(input(&quo

如何将旅行费用添加到适用于许多旅行费用的while循环(错误消息)中?我想使用while循环创建一个函数。就像没有在每次旅行后插入错误信息一样,我想创建一个函数来阻止自己重复。还有我使用spyder

travelfare1=float(input("enter travel fare 1:" ))

travelfare2=float(input("enter travel fare 2: "))

travelfare3=float(input("enter travel fare 3: "))

while travelfare1 <5 or travelfare1 >20:

    print("invalid entry")

    travelfare1=float(input("enter travel fare 1:" ))
travelfare1=浮动(输入(“输入旅行费用1:”)
travelfare2=浮动(输入(“输入旅行费用2:”)
travelfare3=浮动(输入(“输入旅行费用3:”)
旅行费用120:
打印(“无效条目”)
travelfare1=浮动(输入(“输入旅行费用1:”)

请帮助

您可以执行以下操作:

def get_travel_fare(number):
    travelfare = float(input(f"enter travel fare {number}:" ))
    while travelfare < 5 or travelfare > 20:

        print("invalid entry")

        travelfare = float(input(f"enter travel fare {number}:" ))
    return travelfare


travelfare1 = get_travel_fare(1)
travelfare2 = get_travel_fare(2)
travelfare3 = get_travel_fare(3)

def获取旅行费用(编号):
travelfare=浮动(输入(f“输入旅行费用{number}:”)
当车费<5或车费>20时:
打印(“无效条目”)
travelfare=浮动(输入(f“输入旅行费用{number}:”)
回程机票
travelfare1=获取旅行费用(1)
travelfare2=获取旅行费用(2)
travelfare3=获取旅行费用(3)
试试这个:

def get_fare(mini, maxi):
    fare = float(input("travel fare please: "))
    while fare not in range(mini, maxi+1):
        print("invalid value, please enter a new one") 
        fare = float(input("travel fare please: "))
    return fare

travel_fares = [get_fare(5,20), get_fare(5,20), get_fare(5,20)] # list of the functions (which will make a list of the return values after they're run)

print(f"average: {sum(travel_fares)/len(travel_fares)}") # sum of elements in list divided by length of list (amount of items)
输入时:
15
10
5

travel fare please: 5
travel fare please: 10
travel fare please: 15
average: 10

这没有什么意义,但是,您是否正在尝试通过函数正确查询每个变量范围内的用户的正确值?我想防止用户插入较高或较低的值。我应该为旅行费用创建一个列表吗?与函数结合会更容易吗?我是非常新的python和编码我真的很困惑在哪里插入什么!!是的,像这样在一个列表中存储多个值可能更好,您可以很容易地使用输入函数对您的3个变量进行迭代:)您只需要5到20之间的值还是要排除该范围内的值?只需要5到20之间的值谢谢!!它成功了,但我遇到了一个新问题,你能帮忙吗?我必须计算平均值,我使用了这个公式,TravelFareage=(travelfare1+travelfare2+travelfare3),但我得到了这个错误类型错误:不支持+的操作数类型:“'NoneType'和'float'说明问题^我必须计算平均值,我使用了这个公式,TravelFareAveage=(travelfare1+travelfare2+travelfare3)但是我得到了这个错误类型错误:不支持的+操作数类型:'NoneType'和'float'@rara如果这个答案有帮助,你可以用绿色的复选框接受它。你的错误听起来像是其中一个数字输入不正确,你有没有试着打印出每一张旅行票,看看它们是什么?我运行了几次。首先我使用了所有的20,然后我使用了低于20的数字。我应该使用旅行费用1还是获取旅行费用(1)来计算?如果我听起来很傻,我很抱歉。我认为20和5是反向的。这是一个很好的方法,虽然我没有在我的答案中添加数组,因为它没有在问题中指定。这应该可以解决它,谢谢你指出这一点!