- UiPath RPA開發(fā):入門、實戰(zhàn)與進(jìn)階
- 邵京京等
- 861字
- 2021-08-06 14:57:45
4.3.1 循環(huán)嵌套的應(yīng)用
什么是循環(huán)嵌套呢?很簡單,就是在循環(huán)活動的循環(huán)體Body內(nèi)再拖入一個循環(huán)活動,來解決某些復(fù)雜的邏輯。
例如,某公司有5個生產(chǎn)部門,每個部門都需要循環(huán)導(dǎo)出財務(wù)數(shù)據(jù)和庫存報表數(shù)據(jù)。這樣就需要在循環(huán)生產(chǎn)部門里面再嵌套一層循環(huán)財務(wù)系統(tǒng)和庫存系統(tǒng)的動作,才能順利實現(xiàn)流程自動化。
本節(jié)我們利用輸出九九乘法口訣的經(jīng)典嵌套案例來進(jìn)行講解。
首先進(jìn)行案例分析。九九乘法口訣表如圖4-77所示,橫向是9個單元格,縱向也是9格單元格,把單元格全部填充就需要9×9=81次的寫入動作。這里如果我們做一個嵌套循環(huán),外層控制寫入行,內(nèi)層控制寫入列,是不是很容易實現(xiàn)寫入81個單元格相對應(yīng)的內(nèi)容呢?如果只讓程序輸出灰色區(qū)域的內(nèi)容呢?具體實現(xiàn)過程見例4.10。

圖4-77 乘法口訣表
【例4.10】輸出九九乘法口訣。
1)進(jìn)入Studio界面,點擊Process創(chuàng)建一個流程,命名為“4_10_九九乘法口訣”,如圖4-78所示。

圖4-78 新建流程
2)打開Main,拖入一個For Each活動,按如圖4-79所示更改其屬性值。

圖4-79 拖入For Each活動并設(shè)置屬性值
3)選中For Each控件,新建一個Int32類型的變量j,Default值為1,用于控制每行的輸入次數(shù)。新建一個String類型的變量Result,用于存儲乘法口訣字符串,如圖4-80所示。

圖4-80 新建變量
4)在For Each的Body內(nèi)拖入一個Assgin,每次外層循環(huán)執(zhí)行時對j的值初始化為1,然后在其下面拖入一個While活動,Condition的條件設(shè)置為j<=9,如圖4-81所示。

圖4-81 拖入內(nèi)層循環(huán)While活動
5)在內(nèi)層循環(huán)While的Body中拖入兩個Assign,按圖4-82進(jìn)行賦值,設(shè)置j=j+1,用于控制層循次數(shù),設(shè)置Result=Result+j.ToString+"*"+i.ToString+"="+(i*j).ToString+" ",用于累計乘法口訣表。
6)在內(nèi)層循環(huán)While的下面,拖入一個Assign,設(shè)置Result=Result+Environment.NewLine,用于乘法口訣的換行,如圖4-83所示。

圖4-82 在內(nèi)層循環(huán)中對變量Result和j進(jìn)行賦值
7)在For Each的下面拖入一個Write Line將Result結(jié)果進(jìn)行輸出,如圖4-84所示。

圖4-83 輸入換行符

圖4-84 在外層循環(huán)For Each的下面拖入Write Line
8)點擊Run File執(zhí)行程序,在Output面板中顯示結(jié)果如圖4-85所示。

圖4-85 執(zhí)行結(jié)果
9)如果想要輸出更美觀,去掉重復(fù),只顯示下半部分,只需要將While的Condition條件改為j<=i即可,如圖4-86所示,這里大家可以思考下為什么這么做。
10)點擊Run File,執(zhí)行程序,在Output面板中顯示結(jié)果如圖4-87所示。

圖4-86 修改內(nèi)層循環(huán)While的條件

圖4-87 優(yōu)化輸出結(jié)果
- Learning Cython Programming
- AWS Serverless架構(gòu):使用AWS從傳統(tǒng)部署方式向Serverless架構(gòu)遷移
- Mastering Concurrency in Go
- Learning SQLite for iOS
- 精通軟件性能測試與LoadRunner實戰(zhàn)(第2版)
- 征服RIA
- Visual Basic學(xué)習(xí)手冊
- RISC-V體系結(jié)構(gòu)編程與實踐(第2版)
- Salesforce Reporting and Dashboards
- 零基礎(chǔ)Java學(xué)習(xí)筆記
- Learning Material Design
- Instant Debian:Build a Web Server
- OpenMP核心技術(shù)指南
- App Inventor 2 Essentials
- SCRATCH編程課:我的游戲我做主