截止日期:

要求:

  • 下周实验课前上交,做好后在实验课上检查可获取平时分。
  • 做出进阶或选做的的请用清晰的标致标识出来,方便老师批改
  • 本次作业:可提交也可不提交。作业算平时成绩。
  • 本次作业内容量较大,请组队合作完成(每个队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程序实例解析的更多相关文章

  1. 实验与作业(Python)-03 Python程序实例解析(函数、循环、range、turtle)

    截止日期: 要求: 下周实验课前上交,做好后在实验课上检查可获取平时分. 做出进阶或选做的的请用清晰的标致标识出来,方便老师批改 本次作业:可提交也可不提交.作业算平时成绩. 本次作业内容量较大,请组 ...

  2. Python语言程序设计基础(2)—— Python程序实例解析

    温度转换 def tempConvert(ValueStr): if ValueStr[-1] in ['F','f']: ans = (eval(ValueStr[0:-1]) - 32)/1.8 ...

  3. Python 中Lambda 表达式 实例解析

    Lambda 表达式 lambda表达式是一种简洁格式的函数.该表达式不是正常的函数结构,而是属于表达式的类型.而且它可以调用其它函数. 1.基本格式: lambda 参数,参数...:函数功能代码 ...

  4. ogre3D程序实例解析1-平移旋转与缩放

    接着上篇写 http://www.cnblogs.com/songliquan/p/3294902.html 旋转 这里有必要看一下关于旋转的源代码:    virtual void pitch(co ...

  5. 人生苦短,我用python,为什么选择python,python简介

    认识 Python 人生苦短,我用 Python —— Life is short, you need Python  目标 Python 的起源 为什么要用 Python? Python 的特点 ...

  6. [ Python ] Flask 基于 Web开发 大型程序的结构实例解析

    作为一个编程入门新手,Flask是我接触到的第一个Web框架.想要深入学习,就从<FlaskWeb开发:基于Python的Web应用开发实战>这本书入手,本书由于是翻译过来的中文版,理解起 ...

  7. Python学习笔记四:列表,购物车程序实例

    列表 切片 中括号,逗号分隔,可以一次取出多个元素,起始位置包括,结束位置不包括(顾头不顾尾) 如果取最后一个,而且不知道列表长度,可以使用负数(-1是最后一个,以此类推) 如果取最后几个,记住从左往 ...

  8. 用python 实现录入学生作业情况的小程序

    写一个录入学生作业情况的一个程序 1.查看学生作业情况 2.录入学生作业情况 3.可以让输入3次,需要为空的情况 homeworks = { ‘张流量’: {‘2018.3.22’:”未交”,’201 ...

  9. Python实验报告——第2章 Python语言基础

    实验报告 [实验目的] 1.熟悉在线编程平台. 2.掌握基本的 python 程序编写.编译与运行程序的方法. [实验条件] 1.PC机或者远程编程环境 [实验内容] 1.完成第二章实例01-07,实 ...

随机推荐

  1. kafka_2.12-1.1.0 生产与消费java实现示例

    环境准备: 1)需要在maven工程中引入依赖: <!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka --> &l ...

  2. Java:List集合内的对象进行排序

    List集合中的对象进行排序,除了for外,还有java的Collections对象来对摸个集合进行排序的用法. 比如说我有一个List集合,集合元素为: public class TaskAutoE ...

  3. 格式化输出prettify()

    BeautifulSoup的格式化输出函数: print(soup.prettify())

  4. javascript 函数的4种调用方式与 this(上下文)的指向

    前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! javascript中作用域链和this(上下文)的指向是很容易混淆的,简单的说就是: 作用域链取决于函数 ...

  5. angularjs1.x版本,父子组件之间的双向绑定

    今天遇到了一个angularjs的坑, ng-repeat和ng-if会改变他所包含的html中绑定变量的作用域. angularjs自定义指令,可以定义四种变量,通过 =,@,&双向绑定,单 ...

  6. Myeclipse修改设置Default VM Arguments

    打开Windows-> Preferences 然后选择右侧菜单的Java->Installed JREs 点击右侧的jdk,然后点击"Edit"按钮 Default ...

  7. python3 Serial 串口助手的接收读取数据

    其实网上已经有许多python语言书写的串口,但大部分都是python2写的,没有找到一个合适的python编写的串口助手,只能自己来写一个串口助手,由于我只需要串口能够接收读取数据就可以了,故而这个 ...

  8. [SHOI2008]循环的债务

    Description Alice.Bob和Cynthia总是为他们之间混乱的债务而烦恼,终于有一天,他们决定坐下来一起解决这个问题. 不过,鉴别钞票的真伪是一件很麻烦的事情,于是他们决定要在清还债务 ...

  9. bzoj 2564 集合的面积

    Description 对于一个平面上点的集合P={(xi,yi )},定义集合P的面积F(P)为点集P的凸包的面积. 对于两个点集A和B,定义集合的和为: A+B={(xiA+xjB,yiA+yjB ...

  10. [SHOI2008]cactus仙人掌图

    [题目描述] 如果某个无向连通图的任意一条边至多只出现在一条简单回路(simple cycle)里,我们就称这张图为仙人图(cactus).所谓简单回路就是指在图上不重复经过任何一个顶点的回路. 举例 ...