查看原文
其他

Julia 笔记之循环和条件语句

JunJunLab 老俊俊的生信笔记 2022-08-17

没关注?伸出手指点这里---

1引言

Julia 中的循环和条件语句和 python 的基本差不多,写法稍微有一点点不同而已,前者需要以 end 关键词结尾形成闭合语句,后者则是严格区分语句递进结构。

2复合表达式

julia 可以接受多个表达式并返回最后的结果,使用关键词 begin end:

julia> z = begin
           x = 1
           y = 2
           x + y
       end
3

可以使用 ; 分隔放置在一行里:

julia> z = (x = 1; y = 2; x + y)
3

下面效果是一样的:

julia> begin x = 1; y = 2; x + y end
3

julia> (x = 1;
        y = 2;
        x + y)
3

3for 循环

简单的例子:

for i in range(1,5)
    println(i)
end

1
2
3
4
5

可适用于可迭代容器,比如元组,字典,数组等:

julia> for i in [1,4,0]
           println(i)
       end
1
4
0

julia> for s ∈ ["foo","bar","baz"]
           println(s)
       end
foo
bar
baz

可以接受多个条件:

julia> for i = 1:2, j = 3:4
           println((i, j))
       end
(13)
(14)
(23)
(24)

使用 zip 连接两个数据,前面变量括号是必须的:

julia> for (j, k) in zip([1 2 3], [4 5 6 7])
           println((j,k))
       end
(14)
(25)
(36)

4while 循环

简单的例子:

m = 5
i = 0
while i <= 5
    println(i)
    i += 1
end

0
1
2
3
4
5

5if 条件语句

for i in range(1,5)
    if i > 3
        println("stop")
    else
        println(i)
    end
end

1
2
3
stop
stop

多个条件:

for i in range(1,5)
    if i == 5
        println("stop")
    elseif i == 4
        println("ok,I am $i")
    else
        println(i)
    end
end

1
2
3
ok,I am 4
stop

6break,continue 关键词

意思和 python 里的一样:

for i in range(1,5)
    if i < 3
        continue
    else
        println(i)
    end
end

3
4
5
for i in range(1,5)
    if i > 3
        break
    else
        println(i)
    end
end

1
2
3

7捕获异常

使用 try catch 语句来处理异常情况:

for i in range(-3,3)
    try
        println(sqrt(i))
    catch
        println("error")
    end
end

error
error
error
0.0
1.0
1.4142135623730951
1.7320508075688772

finally 可以在语句不论什么情况都执行后面的语句,比如在最后关闭一个文件:

f = open("file")
try
    # operate on file f
finally
    close(f)
end

8结尾

实际运用中我们需要结合实际情况进行组合使用来完成任务。




  老俊俊生信交流群 ,QQ,


老俊俊微信:


知识星球:



今天的分享就到这里了,敬请期待下一篇!

最后欢迎大家分享转发,您的点赞是对我的鼓励肯定

如果觉得对您帮助很大,赏杯快乐水喝喝吧!



  





ggtranscript 绘制转录本结构

GFF 的 CDS 注释包含 stop codon?

Julia 笔记之字符串

Julia 笔记之数学运算和初等函数

XAM 包处理 sam 和 bam 文件

Nature 文章主图结果复现

windows 也能快速处理 BAM/SAM 大型文件

Julia 笔记之变量-整数-浮点数

cell 代码优化测试复现二 (终)

cell 代码优化测试复现一

◀...

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存