TypeError:removeDuplicates()缺少1个必需的位置参数:“randList”

2024-10-17 08:26:05 发布

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

我对Python还比较陌生,需要帮助。我已经在网上搜索了几天,这有助于修复以前的错误,但我仍然停留在这一个。我知道这个问题已经被问过好几次了,我也读过论坛,但是我还是解决不了这个问题。你知道吗

我使用的是python3.4.4

本作业的目标是创建一个随机列表,其中包含50个从1到100的数字,并打印出来。然后,你必须采取同样的名单,删除重复的数字和打印名单以及。最后,应该打印两份清单,一份有副本,一份没有副本。这是我的密码:

from random import randrange

def createList():
    print("A program that will generate a list of 50 random numbers then remove any duplicates.")
    for i in range(50):
        randList = randrange(101)
        print(randList)

def removeDuplicates(randList):
    uniqueList = []
    for i in randList:
        if i not in uniqueList:
            uniqueList.append(i)
    print(uniqueList)

def main():
    createList()
    removeDuplicates()

if __name__ == "__main__": main()

这是我的错误:

Traceback (most recent call last):
  File "C:/Python34/Python Assignments/test-randNumbs.py", line 20, in <module>
    if __name__ == "__main__": main()
  File "C:/Python34/Python Assignments/test-randNumbs.py", line 18, in main
    removeDuplicates()
TypeError: removeDuplicates() missing 1 required positional argument: 'randList'

Tags: inifmaindef错误副本数字random
1条回答
网友
1楼 · 发布于 2024-10-17 08:26:05

首先,需要将一个列表传递给removeDuplicates()函数。但是,要做到这一点,还需要在createList()中返回一个随机创建的列表。你知道吗

from random import randrange

def create_list():
    rand_list = []
    print("A program that will generate a list of 50 random numbers then remove any duplicates.")
    for i in range(50):
        rand_list.append(randrange(101))
    print(rand_list)
    return rand_list

def remove_duplicates(rand_list):
    unique_list = []
    for i in rand_list:
        if i not in unique_list:
            unique_list.append(i)
    print(unique_list)

def main():
    rand_list = create_list()
    print('unique list:')
    remove_duplicates(rand_list)

if __name__ == "__main__": main()

相关问题 更多 >