Я обнаружил проблему кодирования в EdaBit:
В диапазоне целых чисел:
- замените каждое число, кратное 3, на
WORD
- заменить каждое число, кратное 5, на
EXAMPLE
- заменить каждое число, кратное 3 и 5, на
WORDEXAMPLE
- вернуть их все в списке с числами, не кратными 3 и 5 между ними.
Я хочу использовать список понимания , чтобы сделать это. Я пришел с этим, который не работает:
return [i for i in range(start, end) if i%3 != 0 and i%5 != 0, "WORD" for i in range(start, end) if i%3==0 and i%5!=0, "EXAMPLE" for i in range(start, end) if i%3!=0 and i%5==0, "WORDEXAMPLE" for i in range(start, end) if if i%3==0 and i%5==0]
, и я хочу, чтобы это было одно понимание списка, а не что-то вроде:
others = [i for i in range(start, end) if i%3 != 0 and i%5 != 0]
multiples_3 = ["WORD" for i in range(start, end) if i%3 == 0 and i%5 != 0]
multiples_5 = ["EXAMPLE" for i in range(start, end) if i%3 != 0 and i%5 == 0]
multiples_3_and_5 = ["WORDEXAMPLE" for i in range(start, end) if i%3 == 0 and i%5 == 0]
Вообще говоря, вы можете создать список понимания, которые используют более одной функции в соответствии с различными условиями?