Python:如何从其他定义的函数中获取数据到另一个?

时间:2017-10-24 00:00:09

标签: python python-3.x

我有这个程序:

def NoOfPeople(people):
    if people.isdigit() and (int(people)>=1) and (int(people)<=1000):
        return True
    else:
        print('invalid')
while True:
    people = input('No. of people:')
    if NoOfPeople(people):
        break

我如何使用它的数据到新定义的函数,因为我有这个菜单和程序,我现在停留在如何继续从前一个获取数据。它是检查所选的房间可以容纳NoOfPeople(人)中输入的人数。那么如何比较可以容纳哪个房间的人数:

Room
[1] Room A (10 person)
[2] Room B (30 person)
[3] Room C (50 person)

venue = input('Please select a venue:')
def validateVenue(venue):
    if venueList == '1':
        (what should I continue from here?)

请帮助和建议,因为我是新手使用python.Thanks

1 个答案:

答案 0 :(得分:0)

这是非常开放的,但我会尽力帮助你。

一般情况下,您可以将变量/ data_structure传递给另一个函数,并将其从函数中返回到任何调用此函数的函数...

def function_name(var1, var2):
   var3 = var1*var2 
   return var3

new_var = function_name(3, 5)
print(new_var)
  
    

输出     15

  

1)我不知道你可能想要制作一个Key值对(字典)是什么样的venuList

def select_venue(num_of_people):
    #this is your venue key value dictionary, IE your available venues and their size
    venues = {10:"Venue Small Conf Room" , 30:"Venue Ballroom", 50:"Venue Large Conf Room", 3:"Venue Office"}
    venue_options = []

    for occupancy in venues:
        if occupancy >= num_of_people:
            venue_options.append(occupancy)

    venue = min(venue_options)
    venue_name = venues[venue]


    print("Please Use {} for your event with {} people (max occupancy {})".format(venue_name,num_of_people, venue))

if __name__ == "__main__":
    people = 4 #change this value to test
    select_venue(people)

您的输出应该如下所示

  

请使用Venue Small Conf Room为您的活动提供4人(最多   占用10)

您会注意到关键是场地的最大占用率,价值是场地的名称。

你还应该注意他们不必有序(小办公室是最后一次)