[教程] 複合式條件判斷讓我們的判斷更彈性

上篇([教程] 條件其實可以很複雜 -- 結合判斷)說到我們可以將多個條件整合一起判斷, 但假如只能使用等於「=」判斷就太不彈性了。

因此本篇將介紹除了等於「=」以外的判斷式。

教程目錄

概述

在判斷裡, 除了等於(「=」)判斷外, 在單一設計條件判斷時, 我們不能看到除了等於, 還有不等於, 大於, 大於等於, 小於, 小於等於等等。

因此其實在多個條件判斷裡, 我們除了等於 「=」 外, 我們還能使用其他判斷, 如:

不等於(「<>」), 大於(「>」), 大於等於(「>=」), 小於(「<」), 小於等於(「<=」) 等

而這些符號其實有一個統一的名字, 稱為「邏輯子」。 因此學會邏輯子後, 我們可以根據工作上的需求使用邏輯子來完成更彈性的設計。

設計的情境可能會有: 判斷數字區間(運用大於、小於), 多個變數內容是否有符合自己分別條件(運用多個條件等於)或變數等於例外項目時(運用不等於指定項目時)等。

以下將使用大於與小於範例來說明如何使用邏輯子設計多條件判斷。

範例

設計情境

使用一個 0 - 100 之間產生亂數進行判斷學習效率。

若產生的亂數在 100 - 80 之間為 A, 79 - 60 之間為 B, 59 - 40 之間為 C, 40 以下為再加油。

開始設計

首先我們在變數的分類內找到產生亂數並拖拉至流程內, 然後設計產生的亂數在 0 - 100 之間。

新增產生亂數後再新增一個 IF 在產生亂數的下方並且設計判斷 RandomNumber 是否等於在 100 - 80 之間。 

RPA 設計成可辨識的句子為: RandomNumber 是否小於等於 100 和(AND) RandomNumber 是否大於等於 80。  

RRA 設計成可變數的內容為:

%RandomNumber <= 100 AND RandomNumber >= 80%

整合多個變數判斷的方法為將多個變數名稱在最前與最後的位置使用符號 「%」 進行包覆即可將多個變數進行還原。

若需要在 「%」 使用純文字可以使用在文字前後增加符號 「'」 (單引號)

為什麼這裡不是使用或(OR)呢?

因為若使用或(OR)即無法將亂數設計判斷是否在 100 - 80 之間。

因此若使用或 (OR) 時, 亂數產生少於 80 的結果也因符合少於等於 100 的條件被條件判斷為正確, 那這樣我們的條件設計也將會出現漏洞。

新增結果如下:

完成 100 - 80 之間的判斷後, 我們需要使用 「Else IF」 判斷亂數是否在 79 - 60 之間與 59 - 40 之間。

這裡我們可嘗試不需要使用小於等於, 可換成使用小於設計即可。

79 - 60 之間的內容設計:

%RandomNumber < 80 AND RandomNumber >= 60%

59 - 40 之間的內容設計:

%RandomNumber < 60 AND RandomNumber >= 40%

完成後我們再增加一個 Else 判斷低於 40 或例外即可並最後我們在每個區間增加一個變數作為判斷結果即可。

完成範例如下:

我們可嘗試執行三次確認, 每次 RandomNumber 將產生 0 - 100 之間不一樣的數字:

第一次

第二次

第三次

以上既為本次範例的執行結果。

範例原始碼

Variables.GenerateRandomNumber.RandomNumber MinimumValue: 0 MaximumValue: 100 RandomNumber=> RandomNumber
IF (RandomNumber <= 100 AND RandomNumber >= 80) = $'''TRUE''' THEN
    SET Result TO $'''A'''
ELSE IF (RandomNumber < 80 AND RandomNumber >= 60) = $'''TRUE''' THEN
    SET Result TO $'''B'''
ELSE IF (RandomNumber < 60 AND RandomNumber >= 40) = $'''TRUE''' THEN
    SET Result TO $'''C'''
ELSE
    SET Result TO $'''再加油'''
END

 

教程目錄

分級: 入門是認識, 基本是運用, 進階是混合結合
範本是已可下載或可使用的範例, 至於教程當然是學習的結晶