Elixir |如何将变量分配给一系列数字并创建多个if语句

Elixir |如何将变量分配给一系列数字并创建多个if语句,elixir,Elixir,我试图找到奇数、偶数和可被1-100中的3个数字整除的数,但我找不到一种方法将enum.list_分配到1100以使其在50处停止显示 这就是我要做的。我只是分配变量,以便在变量后面创建一个场景 num = (Enum.to_list 1..100) [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37、3

我试图找到奇数、偶数和可被1-100中的3个数字整除的数,但我找不到一种方法将enum.list_分配到1100以使其在50处停止显示

这就是我要做的。我只是分配变量,以便在变量后面创建一个场景

num = (Enum.to_list 1..100)
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37、38、39、40、41、42、43、44、45、46、47、48、49、50、…]


默认情况下,控制台将显示的项目数限制为50个。通过将“限制”选项传递到以下位置,可以配置显示的项目数:

iex1>枚举到列表1..100 |>inspectlimit::无穷大 结果:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 9[0,91,92,93,94,95,96,97,98,99,100]

下面是一个示例,说明如何使用此方法实现算法。这只是一种方法,有很多种方法可以实现它!:

Enum.reduce1..100,%{奇数:[],偶数:[],三:[],fn i,组-> 奇数=如果remi,2==1,do:[i | groups.odd],否则:groups.odd 偶数=如果remi,2==0,do:[i | groups.偶数],否则:groups.偶数 三=如果remi,3==0,do:[i | groups.three],否则:groups.three %{奇:奇,偶:偶,三:三} 终止 同样,如果要查看所有数字,可以使用inspectlimit::infinity:

%{ 偶数:[100,98,96,94,92,90,88,86,84,82,80,78,76,74,72,70,68, 66, 64, 62, 60, 58, 56, 54, 52, 50, 48, 46, 44, 42, 40, 38, 36, 34, 32, 30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4, ...], 奇数:[99,97,95,93,91,89,87,85,83,81,79,77,75,73,71,69,67,65, 63, 61, 59, 57, 55, 53, 51, 49, 47, 45, 43, 41, 39, 37, 35, 33, 31, 29, 27, 25, 23, 21, 19, 17, 15, 13, 11, 9, 7, 5, ...], 三:[99,96,93,90,87,84,81,78,75,72,69,66,63,60,57,54,51, 48, 45, 42, 39, 36, 33, 30, 27, 24, 21, 18, 15, 12, 9, 6, 3] }
默认情况下,控制台将其显示的项目数限制为50。您可以通过将“限制”选项传递到以下位置来配置显示的项目数:

iex1>枚举到列表1..100 |>inspectlimit::无穷大 结果:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 9[0,91,92,93,94,95,96,97,98,99,100]

下面是一个示例,说明如何使用此方法实现算法。这只是一种方法,有很多种方法可以实现它!:

Enum.reduce1..100,%{奇数:[],偶数:[],三:[],fn i,组-> 奇数=如果remi,2==1,do:[i | groups.odd],否则:groups.odd 偶数=如果remi,2==0,do:[i | groups.偶数],否则:groups.偶数 三=如果remi,3==0,do:[i | groups.three],否则:groups.three %{奇:奇,偶:偶,三:三} 终止 同样,如果要查看所有数字,可以使用inspectlimit::infinity:

%{ 偶数:[100,98,96,94,92,90,88,86,84,82,80,78,76,74,72,70,68, 66, 64, 62, 60, 58, 56, 54, 52, 50, 48, 46, 44, 42, 40, 38, 36, 34, 32, 30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4, ...], 奇数:[99,97,95,93,91,89,87,85,83,81,79,77,75,73,71,69,67,65, 63, 61, 59, 57, 55, 53, 51, 49, 47, 45, 43, 41, 39, 37, 35, 33, 31, 29, 27, 25, 23, 21, 19, 17, 15, 13, 11, 9, 7, 5, ...], 三:[99,96,93,90,87,84,81,78,75,72,69,66,63,60,57,54,51, 48, 45, 42, 39, 36, 33, 30, 27, 24, 21, 18, 15, 12, 9, 6, 3] }
Elixir shell iex默认情况下将截断长表达式。如果使用IO.puts num,您应该会看到完整的列表。尝试在iex nums=Enum.to_list 1..100中运行此操作,它将输出此结果-这就是您得到的结果。[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, ...]。如果您尝试查看此列表中的元素数,它将给出100 iex5>nums |>Enum.count将输出100 Elixir shell iex默认情况下将截断长表达式。如果您使用IO.puts num,您应该会看到完整的列表。尝试在iex nums=Enum.to_list 1..100中运行此操作,它将输出-这就是您得到的结果。[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 4 7, 48, 49, 50, ...]. 如果您尝试查看此列表中的元素数,它将给出100 iex5>nums |>Enum.count将输出100