• 实验与作业(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 考核:使用循环进行绘制。

  • 相关阅读:
    opencv 单应矩阵
    对极约束
    opencv Mat 操作
    两个视角得到世界坐标系
    opencv storage 操作C++
    Python操作mysql数据库
    java——保留一位、两位小数
    数据库 select from 库名 表名 的用法
    python 使用国内镜像下载插件及报错Could not fetch URL https://pypi.org/simple/pywinauto/: There was a problem co解决方法
    pycharm下载第三方库AttributeError: module 'pip' has no attribute 'main'问题解决
  • 原文地址:https://www.cnblogs.com/zhrb/p/7803072.html
Copyright © 2020-2023  润新知