在另一个函数Python中使用的返回值

2024-10-03 04:27:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我想写两个函数。从用户处获取输入并将其添加到列表中的函数。第二个函数获取从第一个函数返回的列表,并打印出每个元素,每个元素之间用空格隔开。我想我很接近,但有些地方不对。输入-999并不能停止循环,我也不知道我是否正确调用了函数。。。你知道吗

有什么想法吗?你知道吗

def listFunc():
    num = 0
    list1 = []
    while num != -999:
        x = int(input('Enter a number, -999 to quit: '))
        list1.append(x)
    return list1


def formatFunc(y):
    final = str(y)
    ' '.join(final)
    print(final)


formatFunc(listFunc())

Tags: 函数用户元素列表inputdef地方num
3条回答
x = int(input('Enter a number, -999 to quit: '))
list1.append(x)    
num=x

会有用的!你知道吗

如果要打印listfunc的输入,则调用函数是正确的。但是,输入不会保存到全局范围内的变量,因此将被锁定,不供将来使用。你知道吗

此外,listfunc当前不进行输入验证。可以在输入中输入任何字符串。while循环不会结束,因为while中的条件从未满足。 根据你的条件重写它会产生:

def listfunc():
        someList = []
        while True:
                x = input("Enter a number, exit to quit")
                if 'exit' in x.lower():
                    break
                elif x.isdigit():
                    someList.append(x)
                else:
                    print("Input not recognized try again")
        return someList

def formatFunc(v):
        print(''.join(str(i) + ' ' for i in v)

你明白为什么这样吗?你知道吗

它应该与while循环中使用的变量相同。你知道吗

num = int(input('Enter a number, -999 to quit: '))
if num != -999:
     list1.append(num)

以及

# final = str(y) This is not required, why cast list as str
final = ' '.join(final)

相关问题 更多 >