简体   繁体   English

使用 while 循环创建函数

[英]create a function using while loop

How can i add the travel fare into a while loop (error message) that works with many travel fares?如何将旅行票价添加到适用于许多旅行票价的 while 循环(错误消息)中? I want to create a function using the while loop.我想使用 while 循环创建一个函数。 like without inserting the error message after each travelFare, i want to create a function to stop myself from repeating.就像在每次旅行后不插入错误消息一样,我想创建一个函数来阻止自己重复。 and my using spyder.和我使用 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:" ))

please help请帮忙

You could do something like this:你可以这样做:

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)

try this out:试试这个:

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)

when entering: 15 , 10 and 5 :输入时: 15105

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM