使用 while 循环创建一个函数

create a function using while loop

如何将旅行票价添加到适用于许多旅行票价的 while 循环(错误消息)中?我想使用 while 循环创建一个函数。就像在每次 travelFare 之后不插入错误消息一样,我想创建一个函数来阻止自己重复。和我使用的 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:" ))

请帮忙

你可以这样做:

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 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)

输入时:15105

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