从函数创建元组列表

时间:2015-02-08 23:51:33

标签: python

我对python很新,但我已经非常喜欢这种语言了,我目前正在学习一些教程,并且正在做很多阅读并尝试应用我所阅读的内容。

一直在使用这个网站,但这是我第一次发帖

我正在处理一个问题,需要我修改一个函数,以便返回一个元组列表。我已经尝试过我所知道的一切,但我没有取得任何成功,这就是我所拥有的。

这是我的功能:

def ask_age ():
    newList=[]
    count = int (input( "Enter Count "))
    if count >7:
            count=7
    for n in range (count):  
            age = int(input( "Please Enter age = " ))
            if age > 0:
                    newList.append(age)
            print ("You are", age, "years old")
            if age < 16:
                    print ("This is a child")
            elif age >= 18:
                    print ("This is an Adult")
            else: 
                    print ("This is a youth")
    print(newList)

我跑的时候:

ask_age()

这是结果

  

输入Count 4

     

请输入年龄= 15

     

你今年15岁这是一个孩子

     

请输入年龄= 17

     

你今年17岁这是一个年轻人

     

请输入年龄= 18

     

你今年18岁这是一个成年人

     

请输入年龄= 25

     

你今年25岁这是一个成年人

     

[15,17,18,25]

正如我所提到的,我现在需要修改函数,以便返回一个看起来像这样的元组列表:

[(15, 'This is a child'), (17, 'This is a youth'), (18, 'This is an Adult'), (25, 'This is an Adult')]

非常感谢任何帮助

1 个答案:

答案 0 :(得分:2)

更改现在

的部分
if age > 0:
    newList.append(age)
    print ("You are", age, "years old")
    if age < 16:
        print ("This is a child")
    elif age >= 18:
        print ("This is an Adult")
    else: 
        print ("This is a youth")

代替:

if age > 0:
    if age < 16:
        newList.append((age, "This is a child"))
    elif age >= 18:
        newList.append((age, "This is an Adult"))
    else: 
        newList.append((age, "This is a youth"))

,最后的print(newList)代替return newList