标签: nested-loops

你能帮我一个符号状态表和嵌套开关吗?来自插图C-Donald Alcock的练习

好的,先谢谢你花时间阅读我的帖子!(^ o ^)/在我把整个问题放在一个上下文之前:我正在自己学习'C'并找到了我正在工作的"Illustrating C"这本书.唐纳德·阿尔科克(Donald Alcock)在他的书中使用符号状态表来表示程序中的逻辑,该程序要求用阿拉伯数字改变罗马数字.

这是代码:

#include <stdio.h>
char Symbol [] = { 'M', 'D', 'C', 'L', 'X', 'V', 'I' };
long Table [16] [8] =
{
    { 100000, 50001, 10003, 5007, 1006, 512, 111, 0 },
    {      0,     0, 10002, 5007, 1006, 512, 111, 0 },
    {      0,     0, 10004, 5007, 1006, 512, 111, 0 },
    {  80005, 30005, 10004, 5007, 1006, 512, 111, 0 },
    {      0,     0, 10005, 5007, 1006, 512, 111, 0 },
    {      0,     0, …
Run Code Online (Sandbox Code Playgroud)

c nested nested-loops switch-statement

8
推荐指数
1
解决办法
387
查看次数

打破嵌套循环

当有嵌套循环时,有人能告诉我如何打破主循环吗?
例*:

/*Main loop*/
for(int y = 0; y < 100; y+=10)
{
    /*Sub loop*/
    for (int x = 0; x < 100; x += 10)
    {
        if(x == 60) 
        { 
            //Break the main loop 
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

*这段代码什么都不做,这只是一个例子

我应该把它放在"Break main loop"评论的位置?在java中有标签,我可以打破(当我将标签设置为名为"MainLoop"的主循环时,我可以写"break MainLoop;"并且它将是有效的),但我能在这做什么?

谢谢你的建议!

.net c# labels nested-loops

8
推荐指数
4
解决办法
4963
查看次数

更好地相当于这个疯狂的嵌套python for循环

for a in map:
    for b in map[a]:
        for c in map[b]:
            for d in map[c]:
                for e in map[d]:
                    print a+b+c+d+e
Run Code Online (Sandbox Code Playgroud)

上面的代码用于在图形中创建一定长度的所有路径.map [a]表示从a点可以到达的点.

如何更改它以模拟具有任意数量的循环?

这就像笛卡尔积(itertools.product),在每次迭代中,您对下一个元素的选择仅限于map [current_point]中的选择.

python recursion generator nested-loops

8
推荐指数
1
解决办法
822
查看次数

有效的算法而不是循环

我有一个数据集,每个样本的结构都与此类似

X=[ [[],[],[],[]], [[],[]] , [[],[],[]] ,[[][]]]
Run Code Online (Sandbox Code Playgroud)

例如:

X=np.array([ [ [1,2,3], [2,4,5] ,[2,3,4] ] , [ [5,6], [6,6] ] , [[2,3,1],[2,3,10],[23,1,2],[1,4,5]]  ] ,"object")

Y=np.array([ [ [12,14,15] ,[12,13,14] ] , [ [15,16], [16,16] ] , [[22,23,21],[32,33,11],[12,44,55]]  ] ,"object")
Run Code Online (Sandbox Code Playgroud)

因此,对于每个样本,我需要计算x的每个元素与相同索引的y的相应元素之间的点积并对结果求和.即:

result=0

for i in range(3):
    for n,m in itertools.product(X[i],Y[i]):
        print "%s, %s" % (n,m)
        result+=np.dot(n,m)

   .....:         
[1, 2, 3], [12, 14, 15]
[1, 2, 3], [12, 13, 14]
[2, 4, 5], [12, 14, 15]
[2, 4, 5], [12, 13, 14] …
Run Code Online (Sandbox Code Playgroud)

python algorithm nested-lists nested-loops

8
推荐指数
1
解决办法
302
查看次数

Bash出口不会退出

我想知道为什么即使使用显式退出命令,此脚本仍继续运行.

我有两个文件:

file1.txt 具有以下内容:

aaaaaa
bbbbbb
cccccc
dddddd
eeeeee
ffffff
gggggg

file2.txt 具有以下内容:

111111
aaaaaa
222222
333333
ffffff
444444

script(test.sh)就是这样,两个嵌套循环检查第一个文件的任何行是否包含第二个文件的任何行.如果找到匹配项,则会中止.

#!/bin/bash
path=`dirname $0`

cat $path/file1.txt | while read line
do  
    echo $line
    cat $RUTA/file2.txt | while read another
    do
        if [ ! -z "`echo $line | grep -i $another`" ]; then
            echo "!!!!!!!!!!"
            exit 0
        fi              
    done
done 
Run Code Online (Sandbox Code Playgroud)

我得到以下输出,即使在打印第一个后它应该退出!!!!!!!!!!:

aaaaaa
!!!!!!!!!!
bbbbbb
cccccc
dddddd
eeeeee
ffffff
!!!!!!!!!!
gggggg

是不是exit应该完全结束脚本的执行?

bash exit abort nested-loops

8
推荐指数
2
解决办法
1万
查看次数

嵌套循环结构

这是我作业的一部分.我需要的只是一些建议.我需要编写一些嵌套的循环结构,以打印以下内容:

"122333444455555"

"+**+++****+++++"

"--***++++-----******+++++++"
Run Code Online (Sandbox Code Playgroud)

这是我打印第一组符号的代码

public static void main (String[] args)
{
    int i,j;
    for(i=1;i<6;++i)
    {
        for(j=1;j<i+1;++j)
        {
            System.out.print(i);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这完全没问题.我只是弄清楚第二和第三组符号.
对我缺乏经验表示歉意,我对Java很新.

java nested-loops

8
推荐指数
1
解决办法
465
查看次数

有没有办法在python中使用itertools来清理嵌套迭代?

假设我有以下代码:

a = [1,2,3]
b = [2,4,6]
c = [3,5,7]

for i in a:
  for j in b:
    for k in c:
      print i * j * k
Run Code Online (Sandbox Code Playgroud)

有没有办法可以在一行中合并迭代器而不是嵌套?

python iterator nested-loops python-itertools

8
推荐指数
1
解决办法
168
查看次数

使用Java 8流转换经典嵌套for循环

我想使用Java 8流API转换以下代码

List<Card> deck = new ArrayList<>();
for (Suit s: Suit.values())
{
    for (Rank r: Rank.values())
    {
        deck .add(new Card(r, s));
    }
}
Run Code Online (Sandbox Code Playgroud)

我出来了

List<Card> deck = new ArrayList<>();
Arrays.stream(Suit.values())
    .forEach(s -> Arrays.stream(Rank.values())
        .forEach(r -> deck.add(new Card(r, s))));
Run Code Online (Sandbox Code Playgroud)

但我不喜欢它,因为它在列表中有副作用.

还有另一种优雅的方式,从流生成列表而不是吗?

java for-loop nested-loops java-8 java-stream

8
推荐指数
1
解决办法
3146
查看次数

如何使嵌套for循环更加Pythonic

我必须为每个密钥创建一个被阻止用户的列表.每个用户都有多个属性,如果这些属性中的任何一个属于键,则会阻止用户.

我编写了以下嵌套for-loop,它适用于我,但我想以更加pythonic的方式编写它,使用更少的行和更具可读性的方式.我怎样才能做到这一点?

for key in keys:
    key.blocked_users = []

for user in get_users():
    for attribute in user.attributes:
        for key in keys:
            if attribute.name == key.name:
                key.blocked_users.append(user)
Run Code Online (Sandbox Code Playgroud)

python list-comprehension nested-loops

8
推荐指数
3
解决办法
1241
查看次数

POJO的"部分"排序列表

我有List以下类的对象:

public class Foo {
    private Date date;
    private String name;
    private Long number;
}
Run Code Online (Sandbox Code Playgroud)

此列表是从数据库中获取的order by date asc, number desc,但是需要始终保留的部分是排序依据date asc.

结果示例(Dateformat = MM/dd/yyyy):

01/01/2016  Name1   928562
01/01/2016  Name2   910785
01/01/2016  Name3   811290
01/01/2016  Name4   811289
01/01/2016  Name5   5000000
02/01/2016  Name3   877702
02/01/2016  Name1   852960
02/01/2016  Name2   749640
02/01/2016  Name4   749500
02/01/2016  Name5   5000000
Run Code Online (Sandbox Code Playgroud)

现在我想订购该列表,以便它导致:

01/01/2016  Name2   910785
01/01/2016  Name1   928562
01/01/2016  Name3   811290
01/01/2016  Name4   811289
01/01/2016  Name5   5000000
02/01/2016  Name2 …
Run Code Online (Sandbox Code Playgroud)

java sorting nested-loops java-8

8
推荐指数
1
解决办法
107
查看次数