当前位置:网站首页>【UiPath2022+C#】UiPath 练习-数据操作
【UiPath2022+C#】UiPath 练习-数据操作
2022-08-05 05:17:00 【会敲键盘的肘子】
【UiPath2022+C#】UiPath 练习-数据操作
文章目录
环境
UiPath Studio Community 2022.4.3
Windows
C#
练习
练习 1 - 列表
对列表进行排序并打印 3 个值
给定国家/地区的输入列表,请对该列表进行排序,并按降序打印前 3 个值。
注意: 请使用此值初始化列表:new List(of String) from {“Germany”, “Spain”, “Japan”, “Brazil”, “India”, “China”}。
解决方案
- 以序列形式启动项目,并使用以下默认值定义字符串变量(“country”)的列表,默认值为:new List(string) (){“Germany”, “Spain”, “Japan”, “Brazil”, “India”, “China”}。
- 添加一个调用方法活动。在“方法名称”下写入“Sort”,在“目标对象”下写入“country”。保持“目标类型”不变 (null)。
- 在“方法名称”下再添加一个“调用方法”活动。在“方法名称”下写入“Reverse”,并填写其他 2 个字段,就像在前面的“调用方法”中一样
- 创建一个新的字符串变量列表newVariable。
- 向“设计器”面板添加一个分配活动。
- 在值字段中,输入原始变量的名称,再输入 country.GetRange(0,3)。此变量将前三个值存储在排序列表中。
- 添加一个写入行活动。这将打印值。
- 使用string.Join方法:string.Join (", ", newVariable.ToArray()),在写入行活动的文本中。
练习 2 - 列表和日期时间
验证列表中的日期在今年是否已过
给定格式为 dd.MM.yyyy 的输入字符串列表,请检查是否有任何日期的月份与当前月份相同,然后打印该日期以输出。
对于具有不同月份的日期,请打印以输出从当前日期到列表日期(当年)为止经过/到期的天数。
注意: 使用以下值初始化列表:new List(string) from {“01.02.1980”, “04.05.1985”,“06.08.1988”,“24.09.1999”,“18.11.1986”,“11.10.1983”}
解决方案
在序列中使用遍历循环活动遍历列表中的所有项目(“变量名中的遍历循环项目”),并在正文中使用以下活动和方法:
创建一个日期时间变量(“dateTime”),并使用DateTime.ParseExact方法 ,在“分配”活动中,以转换为日期时间:dateTime= DateTime.ParseExact(item, “dd.MM.yyyy”, null)
使用“IF 条件”活动以验证项目的月份是否与当前月份相同:dateTime.Month == DateTime.Today.Month:
- 如果满足条件,则使用写入行活动和“ToString(“yyyy-MM-dd”)”方法打印消息。
- 如果不满足条件,则使用以下活动和方法添加序列:
- a. 使用“分配”活动中的“Subtract”方法创建一个新的 int32 类型的变量(“day”),以计算当月与项目月份之间的差值:day = DateTime.Now.Subtract(new DateTime(DateTime.Today.Year, dateTime.Month, dateTime.Day)) .Days
- b. 将条件声明为 day > 0,然后使用“IF 条件”活动验证日期是未来日期还是过去日期,并使用“写入行”活动中的“String.Format”方法为过去或未来月份打印不同的消息:string.Format(“从当前日期到列表日期(当年{0}月{1}日)为止经过{2}天”,dateTime.Month, dateTime.Day,day) 和 string.Format(“从当前日期到列表日期(当年{0}月{1}日)为止到期还剩下{2}天”,dateTime.Month, dateTime.Day,Math.Abs(day)).
流程和变量
If语句
练习 3 - 字典和整数
计算并打印每位环法自行车赛冠军的获胜次数
给定包含年份和姓名的输入字典,请计算每位冠军的获胜次数,并打印所有冠军的姓名及其相应的获胜次数。
注意: 使用以下值初始化(Int32、字符串)类型的字典 - New Dictionary(Of Int32,String) From { {2006,“Oscar Pereiro”},{2007,“Alberto Contador”}, {2008, “Carlos Sastre”}, {2009,“Alberto Contador”}, {2010, “Andy Schleck”}, {2011, “Cadel Evans”}, {2012,“Bradley Wiggins”}, {2013,“Chris Froome”}, {2014,“Vincenzo Nibali”},{2015,“Chris Froome”},{2016,“Chris Froome”},{2017,“Chris Froome”}, {2018,“Geraint Thomas”}}
解决方案
- 以序列形式启动项目并创建一个新的字典,类型为 (String, Int32)
- 利用“遍历循环”(“遍历 FirstDictionaryName.Values 中的 WinnerNames”)遍历第一个字典中的值,并检查该值是否已存在且已作为新字典的键,检查时使用**.ContainsKey方法**, 该方法在“IF 条件”活动(“SecondDictionaryName.ContainsKey(WinnerName)”)中:
- 如果满足条件,则使用“分配”活动以增加相应键的值:WinnerCounts(WinnerName) = WinnerCounts(WinnerName) + 1
- 如果不满足条件,则使用“调用方法”活动将键添加到第二字字典,其值为“1”,以及使用目标对象添加第二个字典名称,并“Add”作为方法名称
- 使用“遍历循环”活动遍历第二个字典(“SecondDictionaryName 中的遍历循环冠军”),并利用“写入行”活动打印所有冠军的姓名及其相应的获胜次数。
流程和变量
遍历循环
练习 4 - 字典和双精度数
计算发送到一个城市的包裹总重量
考虑某家航运公司的数据库,其中包含公司人员,以及公司发往世界各地某些城市的包裹及其重量。该数据库是一个字典,其键为字符串类型(人员姓名),值为字典类型(字符串/城市、双精度数/重量)。
请计算一个城市目的地的总重量。计算完成后,应向用户显示一个输入对话框,其中包含输入数据字典中显示的不同城市列表。如果用户没有从输入对话框中选择任何值,则打印“用户未选择任何值”;否则,您可以打印“发送到 <选定城市> 的包裹总重量为 x.xx”(使用两位数)。
注意:对于输入数据,请下载下面已定义字典的工作流。
New Dictionary(Of String, Dictionary(Of String, Double)) From {
{“John C”, New Dictionary(Of String, Double) From { {“Madrid”,2.1},{“Paris”,1.1}} },
{“Sarah C”, New Dictionary(Of String, Double) From { {“New York”,2.1},{“Paris”,3.3},{“Berlin”, 0.8}} },
{“Kyle R”, New Dictionary(Of String, Double) From { {“San Francisco”,2.8},{“NewYork”,1.1}} },
{“Johnny B”, New Dictionary(Of String, Double) From { {“New York”,2.1},{“Paris”,3.3}, {“Cairo”,1.3},{“Chicago”,1.9}} }}
解决方案
- 以序列形式启动项目.
- 使用“遍历循环”遍历初始字典的值,然后(在正文中)使用“遍历循环”活动遍历第二个字典(城市)的键,并检查字典中是否已有城市,(使用“IF 条件”和“包含”方法):
- 如果满足条件,则使用“分配”活动将存储在相应值中的重量添加到现有值中;
- 如果不满足条件,则使用“分配”活动将存储在相应值中的重量;
3.使用“输入对话框”活动,通过在“活动”属性的“选项”下使用 SecondVariableName.Keys.ToArray() 显示所有城市
a.如果用户选择城市,则使用“写入行”打印“发送到 <选定城市> 的包裹总重量为 x.xx”。
流程和变量
For Each配置
If配置
练习 5 - 输入验证
验证用户的字符串输入
开发一个工作流,根据一组规则要求用户输入文本,并将输入验证的规则合并到工作流。
更具体地说,用户输入的字符串必须通过以下验证规则:
- 最小长度:8 个字符
- 以大写字母开头
- 最多 20 个字符
若输入不符合规则,允许用户有 3 次重新输入的机会(不考虑用户未输入任何内容的情况)。
注意: 在本练习中,请使用流程图。
解决方案
- 以流程图的形式启动项目(考虑到预期的大量决策点),并通过“消息框”将规则告知用户。
- 向用户显示“输入对话框”。
- 检查用户是否已在输入字段中输入任何内容。如果未提供任何文本,则返回到"输入对话框"阶段。
- 使用正则表达式验证输入文本正则表达式(“是匹配”活动)-“高级”类型,
"^[A-Z]{1}\w{7,18}$"
- 使用 Int32 变量计算用户输入尝试失败次数(不考虑未输入任何内容)。
- 使用决策节点检查用户是否已达到 3 次失败尝试。
- 如果用户达到最多 3 次失败尝试,则使用“写入行”活动输入以输出以下消息:“超出最大重试次数”,并结束执行。
- 如果正则表达式验证通过,则打印以下消息以输出:“您的文本遵循规则!”,并结束执行。您可以使用变量存储向用户显示的文本。
流程和变量
练习 6 - 更换占位符
获取输入信息并用来填充字符串
您具有以下模板:“ <姓名>,您好,我们想邀请您参加下周 <星期几> 的开幕活动,请在本周末之前确认。"
创建一个工作流以获取用户输入,并替换上述短语中提供的输入数据。
注意: 请使用上面的文本创建一个字符串变量。
解决方案
- 以序列形式启动项目,并创建2 个字符串变量,分别存储姓名和星期几。
- 使用 2 个“输入对话框”活动来获取用户的输入。
- 对输入数据的 2个字符串中的每个字符串,在“分配”活动中使用“Replace”方法:VariableName = VariableName.Replace(“”,“”)。
- 使用“写入行”活动打印输出。
流程和变量
练习 7 - 使用正则表达式提取电子邮件地址
从字符串提取电子邮件地址(使用正则表达式)
给定一个包含一个电子邮件地址的字符串,创建一个工作流以使用正则表达式提取电子邮件地址。
注意: 对于输入,请使用具有以下值的字符串变量:“Please use the following address to contact me [email protected], it’s the company email”。
解决方案
- 以序列形式启动项目.
- 使用“匹配项”活动和为电子邮件地址量身定制的正则表达式,并使用 IEnumerable 变量 存储所提取的电子邮件地址。
- 使用“遍历循环”活动遍历所创建的变量中的值,并使用“写入行”活动和“值”方法显示值。
流程和变量
正则配置
文档
边栏推荐
猜你喜欢
随机推荐
原来何恺明提出的MAE还是一种数据增强
Jupyter notebook选择不同的Anaconda环境作为内核运行
HuiFer 带你读懂 BeanFactory getBean 方法
三、自动配置源码分析
用GAN的方法来进行图片匹配!休斯顿大学提出用于文本图像匹配的对抗表示学习,消除模态差异!
常见的 PoE 错误和解决方案
idea 快速日志
物联网:LoRa无线通信技术
CVPR最佳论文得主清华黄高团队提出首篇动态网络综述
如何组织一场安全、可靠、高效的网络实战攻防演习?
网管日记:故障网络交换机快速替换方法
【数据库和SQL学习笔记】7.SQL中的插入(INSERT)、删除(DELETE)、更新(UPDATE)
(oj)原地移除数组中所有的元素val、删除排序数组中的重复项、合并两个有序数组
LeetCode刷题之第55题
基于STM32F407的一个温度传感器报警系统(用的是DS18B20温度传感器,4针0.96寸OLED显示屏,并且附带日期显示)
关于存储IOPS你必须了解的概念
神经网络也能像人类利用外围视觉一样观察图像
1004 成绩排名 (20 分)
表情捕捉的指标/图像的无参考质量评价
单片机按键开发库-支持连击、长按等操作