Python选择及循环结构
1. 创建资源
开始实验之前,您需要先创建实验相关资源。
在实验室页面,单击创建资源。
(可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、子用户信息等)。
说明:资源创建过程需要3~5分钟(视资源不同开通时间有所差异,ACK等资源开通时间较长)。完成实验资源的创建后,您可以在云产品资源列表查看已创建的资源信息,例如:子用户名称、子用户密码、AK ID、AK Secret、资源中的项目名称等。
实验环境一旦开始创建则进入计时阶段,建议学员先基本了解实验具体的步骤、目的,真正开始做实验时再进行创建。
资源创建成功,可在左侧的资源卡片中查看相关资源信息以及RAM子账号信息
2. 实验内容
编写计算下列函数值的程序,输入t(实数),输出θ的值。
当t>0时,θ值为1;
当t=0时,θ值为1/2;
当t<0时,θ值为0。
编写程序将百分制转换成五分制。
成绩90~100分,输出5分;
成绩80~89 分,输出4分;
成绩70~79 分,输出3分;
成绩60~69 分,输出2分;
成绩0 ~ 59 分,输出1分;
输入一个百分制成绩,输出一个五分制成绩。
编写程序, 从键盘输入n,计算 1+2+....+n 的值并输出。
编写程序, 输入一个字符串,将字符串中的小写字母转换为大写字母,大写字母转换为小写字母,其他字符不变。
3. 实验步骤
实验资源创建完毕后的界面如图1所示。
图1 资源创建完毕进行系统界面
实验内容中的第一个问题本质上是分段函数,所以应该采用分支结构加以实现,又由于此题目中有三种可能,所以属于多分支结构。
2.1 在命令窗口,执行如下命令,进入源代码编辑窗口。
vim p2-1.py
2.2 进入程序编辑状态后,先按键盘上的“i”键进入插入模式,然后添加如下源代码。
t=float(input("请输入实数t:")) if t>0: theta=1 elif t=0: theta=0.5 else: theta=0 print("theta=", theta)
2.4 源代码添加完成后,按键盘左上角的Esc键退出编辑模式,然后输入:wq保存并退出配置文件。保存退出前的界面如图2所示。
图2 源代码编辑窗口
2.5 代码调试与运行。在命令窗口使用“python3 源代码文件名”的方式运行python程序,若在运行中出现语法错误,则python会指出出错的位置和出错原因,若源代码无语法错误,则直接显示运行结果。
在本实验中,执行如下命令,运行代码。
python3 p2-1.py
执行后的结果如图3所示。
图3 py2-1.py程序的执行及结果
2.6 从图3中看到源代码中有错误,并提示是第4行elif语句中有语法错误,经检查是t=0中处出现问题,本应是比较关系,但此处处理成了赋值,所以应调整为t==0,调整后的运行结果如图4所示。
图4 p2-1.py修改后的执行结果
编写程序解决实验内容中的第二个问题,将程序源代码命名为“p2-2.py”,并调试运行通过。
提示:此问题也是一个多分支结构,编写程序时需要选择合适的选择结构,以便能够满足题目的要求。
实验内容中的第三个问题是求数列和的问题,这类求和问题的解决方案较多,本实验主要需要掌握分支和循环结构,所以此处建议同学使用循环结构解决本问题。
4.1 在命令窗口,执行如下命令,进入源代码编辑窗口。
vim p2-3.py
4.2 进入程序编辑状态后,先按键盘上的“i”键进入插入模式,然后添加如下源代码。
n=int(input("please input n:")) sum=0 for i in range(1:n+1:1): sum=sum+i print("sum=", sum)
4.3 源代码添加完成后,按键盘左上角的Esc键退出编辑模式,然后输入:wq保存并退出配置文件。
图5 p2-3源代码编辑窗口
4.4 在命令窗口,执行如下命令。
python3 p2-3.py
执行后的结果如图6所示。
图6 p2-3.py程序的执行结果
4.5 从图6中看到源代码中有错误,并提示是第3行for语句中的冒号有问题,经检查在for循环中range函数的参数是以逗号分隔,而不是冒号,修改冒号为逗号,调整后的运行结果如图7所示。
图7 p2-3.py程序修改后的运行结果
编写程序解决实验内容中的第四个问题,将程序源代码命名为“p2-4.py”,并调试运行通过。
提示:
此问题涉及字母的大小写转换问题,转换思路可以参考ord()和chr()两个函数。
题目要求输入任意字符串,大小写转换无法用统一的方法对字符串进行整体处理,需要单个字符依次处理,所以要用到循环。
题目中还需要判断字符本身所属的类别,所以自然也要用到分支结构。
4. 实验要求
请将上面实验的每一步截图,分别用e5-1.jpg、e5-2.jpg、……、e5-n.jpg保存,至少截取5张图,并将所有实验内容的Python代码及截图一起打包提交到学习平台上,压缩包格式统一为zip格式。
西安交通大学的同学,请将文件命名为“你的学号-Py2.zip”;非西安交通大学的同学,请将文件命名为“你的学校-你的姓名-Py2.zip”或“你的姓名-Py2.zip”。
所有文档请于实验截止日期前提交。
实验链接:https://developer.aliyun.com/adc/scenario/a542d8c240ce49e4815e632c5e1421b3