如果函数中的函数返回true,就做一些事情(python 3)

问题描述 投票:-1回答:1

有两个函数。第一个函数生成一个列表,第二个函数检查是否有重复,如果有重复就返回True。

所以,我想从函数1中调用函数2,如果它返回true,就做一些事情。

import random

def x(list):
    for i in range(len(list)):
        count = 0
        for k in range(len(list)):
            if list[i] == list[k]:
                count += 1
            if count > 1:
                return True
    if count == 1:
        return False



def generated_list(N):
    list = []
    for i in range(N):
        list.append(random.randint(1, 365))
    x(list)


if generated_list(25) is True:
   print('is true')
python function if-statement return
1个回答
1
投票

有一些逻辑错误,检查这个。

import random


def check_duplicate(numbers):
    for i in range(len(numbers)):
        count = 0
        for k in range(len(numbers)):
            if i == k:
                continue
            if numbers[i] == numbers[k]:
                count += 1
            if count > 1:
                return True
    return False


def generated_list(n):
    numbers = []
    for i in range(n):
        numbers.append(random.randint(1, 365))
    return check_duplicate(numbers)


if generated_list(25) is True:
    print('is true')

另外,避免使用保留关键字来命名你的变量。

© www.soinside.com 2019 - 2024. All rights reserved.