我正在尝试制作“锁饼干”,以便在简历中保留一些东西,以便在明年夏天获得实习机会。
锁中的每个“转轮”包含5个字母,这些字母存储在charLists中。我有5个“轮子”,我正在尝试从5个轮子中获取所有可能的连击。实际上,组合锁每个“滚轮”有10个字母,但我试图使迭代正常工作。但是,似乎我的代码在每次迭代中只显示相同的值。
我的代码:
totalList.Add("");
for (int i = 0; i < one.Count; i++)
{
int a = i;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
for (int ii = 0; ii < two.Count; ii++)
{
b = ii;
for (int iii = 0; iii < three.Count; iii++)
{
c = iii;
for (int iv = 0; iv < four.Count; iv++)
{
d = iv;
for (int v = 0; v < five.Count; v++)
{
e = v;
string myString = "" + one[a] + two[b] + three[c] + four[d] + five[e];
totalList.Add(myString);
}
}
}
}
}
答案 0 :(得分:0)
fyi-这是编写包含初始化代码的简短方法。 for循环很好,我实际上推荐您的花括号({}
),但是a,b,c,d,e var完全多余(您可以使用循环计数器)。同样,List也可以使用。
无论如何...较短的版本:
char[] w1 = { 'a', 'b', 'c', 'd', 'e' };
char[] w2 = { 'f', 'g', 'h', 'i', 'j' };
char[] w3 = { 'k', 'l', 'm', 'n', 'o' };
char[] w4 = { 'p', 'q', 'r', 's', 't' };
char[] w5 = { 'u', 'v', 'w', 'x', 'y' };
List<string> totalString = new List<string>();
foreach (var c1 in w1)
foreach (var c2 in w2)
foreach (var c3 in w3)
foreach (var c4 in w4)
foreach (var c5 in w5)
totalString.Add( "" + c1 + c2 + c3 + c4 + c5);
答案 1 :(得分:0)
您可以考虑问题的性质,通过一个循环来处理。仅在底数5(在这种情况下)中,逐步遍历所有可能的轮子组合就像计数。您可以用二进制进行计数,然后将每个数字转换为以5为底的数字,以转换为车轮位置组。
注意:如果轮子的数字位数不同,则可以更改为使用轮子尺寸数组来拉出每个数字。
pd.DataFrame(data = y_XXXX) = r_XXXX
r_XXXX = r_XXXX.T