实验与作业(Python)-03 Python程序实例解析(函数、循环、range、turtle)
截止日期:
要求:
- 下周实验课前上交,做好后在实验课上检查可获取平时分。
- 做出进阶或选做的的请用清晰的标致标识出来,方便老师批改
- 本次作业:可提交也可不提交。作业算平时成绩。
- 本次作业内容量较大,请组队合作完成(每个队2-3人)
实验目标
- 函数的定义与使用
- 循环,for, range
- 结合使用函数、循环与turtle绘制图形
实验内容
任务1.IPO及函数
TempStr = input("请输入带有符号的温度值: ")
if TempStr[-1] in ['F','f']:
C = (eval(TempStr[0:-1]) - 32)/1.8
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C','c']:
F = 1.8*eval(TempStr[0:-1]) + 32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")
上面程序中,if..elif..else
程序块负责处理传入的带温度标志的字符串并打印相应的提示信息,尝试定义一个函数TempConvert(ValueStr)
取代上面的if..elif..else
程序块。以后只需要调用TempConvert(ValueStr)函数,就可执行这段处理代码:
def TempConvert(valueStr):
#下面放置你的代码
if 输入的的温度是华氏:
#转换代码
return "转换后的温度是{:.2f}C".format(C)
#elif 输入的温度是摄氏度:
#转换代码
return "转换后的温度是{:.2f}F".format(F)
else:
return "输入格式错误"
#调用刚才定义的函数#调用刚才定义的函数
x = input("请输入带有符号的温度值: ")
TempConvert(x) #并没有输出,为什么?
任务2.range的使用
range代表范围,可以产生一系列的整数。请看如下参考代码:
for i in range(10):
print(i) #从几开始输出到几?
for i in range(1,10):
print(i) #从几开始输出到几?
for i in range(1,10,2):
print(i) #从几开始输出到几?2是什么意思
for i in range(10,1, -1):
print(i) #从几开始输出到几?-1是什么意思
尝试完成如下题目:使用for e in range
循环求得1到n之间所有奇数的和?
提示:加入变量temp暂存运行结果。
怎样求得从1开始到n之间所有偶数的和?
作业1:
1.1 手写或打印代码,然后为每行加注释。
1.2 尝试使用for e in range循环,输入n个人的成绩,最后输出n个人成绩的平均值。
3.绘制等边三角形。可指定参数(海龟初始角度、边长、画笔颜色),并用IPO分析该函数。
turtle可以用来绘图,常见的turtle用法如下:
import turtle #导入turtle,仅需导入1次
turtle.pensize(5)
turtle.fd(40) #前进40
turtle.left(120) #转向120度
turtle.fd(40)
turtle.penup() #笔抬起
turtle.fd(100)
turtle.pendown() #笔放下
turtle.fd(20)
3.1 绘制一个等边三角形。注意:不要在循环里import turtle
。
3.2 定义一个绘制等边三角形的函数。输入参数:边长。
3.3 改造2的函数。输入参数:边长、海龟初始方向、画笔颜色。
3.4 从控制台动态输入三角形的边长进行绘制。注意:可使用eval()或float()函数。
4.绘制圆形
4.1 绘制一个圆。
4.2 定义函数绘制一个圆。输入参数:半径,海龟初始方向
4.3 使用循环调用上面2定义的函数绘制9个圆,会碰到什么问题?如何在此基础上进行修改。实现本题要求。
作业2. 阅读代码
打印或手写改题代码,并总结自己是如何实现绘制同心圆?碰到什么问题?怎么解决?
5.特别考核:改造上次实验的圆形生成器程序。可以根据自由输入的n个r值,绘制n个圆。
6. 绘制出该六角形。
特别考核:使用画两个三角形的方式(调用前面的绘制三角形的函数),绘制出该六角形。
7. 绘制如下图所示的正方形螺旋线
7.1 不用循环进行绘制。
7.2 考核:使用循环进行绘制。
实验与作业(Python)-03 Python程序实例解析(函数、循环、range、turtle)的更多相关文章
- 实验与作业(Python)-03 Python程序实例解析
截止日期: 要求: 下周实验课前上交,做好后在实验课上检查可获取平时分. 做出进阶或选做的的请用清晰的标致标识出来,方便老师批改 本次作业:可提交也可不提交.作业算平时成绩. 本次作业内容量较大,请组 ...
- Python语言程序设计基础(2)—— Python程序实例解析
温度转换 def tempConvert(ValueStr): if ValueStr[-1] in ['F','f']: ans = (eval(ValueStr[0:-1]) - 32)/1.8 ...
- python 购物车小程序(列表、循环、条件语句)
goods = [ ['iphone6s', 5800], ['mac book', 9000], ['coffee', 32], ['python book', 80], ['bicyle', 15 ...
- python --- 03 整型 bool 字符串 for循环
一.整型(int) 基本操作: 1.+ - * / % // ** 2. .bit_length() 计算整数在内存中占⽤的⼆进制码的⻓度 如: 二.布尔值(bool) True False 1. ...
- Python 中Lambda 表达式 实例解析
Lambda 表达式 lambda表达式是一种简洁格式的函数.该表达式不是正常的函数结构,而是属于表达式的类型.而且它可以调用其它函数. 1.基本格式: lambda 参数,参数...:函数功能代码 ...
- ogre3D程序实例解析1-平移旋转与缩放
接着上篇写 http://www.cnblogs.com/songliquan/p/3294902.html 旋转 这里有必要看一下关于旋转的源代码: virtual void pitch(co ...
- 人生苦短,我用python,为什么选择python,python简介
认识 Python 人生苦短,我用 Python —— Life is short, you need Python  目标 Python 的起源 为什么要用 Python? Python 的特点 ...
- 如何让Windows程序只运行一个程序实例?
要实现VC++或者MFC只运行一个程序实例,一般采用互斥量来实现,即首先用互斥量封装一个只运行一个程序实例的函数接口: HANDLE hMutex = NULL; void MainDlg::RunS ...
- [ Python ] Flask 基于 Web开发 大型程序的结构实例解析
作为一个编程入门新手,Flask是我接触到的第一个Web框架.想要深入学习,就从<FlaskWeb开发:基于Python的Web应用开发实战>这本书入手,本书由于是翻译过来的中文版,理解起 ...
随机推荐
- Java开发环境之Eclipse
查看更多Java开发环境配置,请点击<Java开发环境配置大全> 拾壹章:Eclipse安装教程 1)去官网下载安装包 http://www.eclipse.org/downloads/ ...
- jquery 属性筛选选择器
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content ...
- 弹性盒模型:flex多行多列两端对齐,列不满左对齐
[1]需求: [2]解决方案: 最近遇到布局上要求item两端对齐,且最后一行在列不满的情况下要求左对齐,使用flex的justify-content: space-between;实现时发现最后一行 ...
- ASP.NET Core ---- 系列文章
(13)ASP.NET Core 中的选项模式(Options) (12)ASP.NET Core 中的配置二(Configuration) (11)ASP.NET Core 中的配置一(Config ...
- onreadystatechange和onload区别分析
onreadystatechange和onload区别分析 script加载 IE的script 元素只支持onreadystatechange事件,不支持onload事件. FireFox,Op ...
- hiveSQL常用日期函数
注意 MM,DD,MO,TU 等要大写 Hive 可以在 where 条件中使用 case when 已知日期 要求日期 语句 结果 本周任意一天 本周一 select date_sub(next_d ...
- 定时任务 Scheduled quartz
在项目应用中往往会用到任务定时器的功能,比如某某时间,或者多少多少秒然后执行某个骚操作等.spring 支持多种定时任务的实现,其中不乏自身提供的定时器.接下来介绍一下使用 spring 的定时器和使 ...
- 003-转载-keil-STM32硬件错误HardFault_Handler的处理方法
(一)参考文献:https://blog.csdn.net/electrocrazy/article/details/78173558 在用Keil对STM32的程序进行仿真时程序有时会跑飞,停止仿真 ...
- (尚026)Vue_案例_动态初始化显示(尚025)
(1).当前页面需要变化什么样的数据? 答:列表;应该有个todos:[]数组;数组中包含每个元素均为一个对象;有数据titles:'xxx';(勾不勾选)complete:'布尔类型' (2).数组 ...
- Windows用户模式调试内部组件
简介 允许用户模式调试工作的内部机制很少得到充分的解释.更糟糕的是,这些机制在Windows XP中已经发生了根本性的变化,当许多支持被重新编写时,还通过将ntdll中的大多数例程作为本地API的一部 ...