если функция внутри функции возвращает true, сделайте что-нибудь (python 3) - PullRequest
0 голосов
/ 23 апреля 2020

имеют 2 функции. первый генерирует список, а второй проверяет, есть ли дубликаты. если есть дубликаты, он возвращает True

, поэтому я хочу вызвать функцию 2 из функции 1, а если он возвращает 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')

1 Ответ

1 голос
/ 23 апреля 2020

Произошли некоторые логические ошибки, проверьте это:

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')

Кроме того, избегайте зарезервированного ключевого слова для именования ваших переменных.

...