博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python(简单图形和文件处理)编程
阅读量:4679 次
发布时间:2019-06-09

本文共 2043 字,大约阅读时间需要 6 分钟。

Python确实是一门很简洁而且功能有强大的语言,我觉得开始学习很容易理解,说到熟练和精通还是不容易的,还需不断学习。

从最基础的语法学习,有些部分各种语言是相同的,让人很好理解。编程也是从最简单语法开始的,之后深入到数据结构和算法,编程语言就此大同小异。

一、文件处理

  Python中使用文本文件,通常用open函数,例如file = open('filename.txt','r'),这就是打开一个名为“filename.txt”的文件进行读取,如果要打开绝对路径的文件,就是fileopen('C:/Users/.../filename.txt','r'),还有三个相关操作从文件中读取信息:

1. file.read()将文件全部剩余内容作为单个字符串返回(可能是多行的);

2. file.readline()返回文件的下一行,包括下一个换行符;

3. file.readlines()返回文件中剩余行的列表,每个列表项都是一行,包括换行符。

对文件读取操作之后关闭文件file.close(),确保所有操作都已完成,保持磁盘上文件和文件对象一致

二、图形

  graphics模块有许多对象和功能,我感觉这个模块很直观呈现出编写程序的运行结果,而且交互式功能体验也不错。下面记下几个会用到的

1.GraphWin对象:win = GraphWin("title",400,400)即是新建一个400*400像素的图形窗口;

        win.close()关闭屏幕窗口;   

        click = getMouse()等待鼠标单击并返回位置;  

        win = setCoords(0,0,4,4)设置窗口坐标系,左下角(0,0),右上角(4,4)后续的绘制将相对于新的坐标系。

2.Rectangle方法:rect = Rectangle(Point(1,1),Point(3,4)),两个点分别是左上角和右下角。

3.Text方法:text = Text(Point(1,1),"Hello!")

刚好翻到书里面的一道编程题目,感觉很有兴趣,于是我就开始琢磨怎样解题,算是自己练习一下。

题目如下:

编写一个程序来绘制学生考试成绩的水平柱状图。你的程序要求从文件输入。文件第一行包含文件中学生数量的计数,后续每行包含学生的名字,后跟一个0~100范围内的分数。你的程序应为每个学生绘制一个水平柱型,其中柱形长度表示学生的分数。柱形应该对齐左边缘排列。(提示:使用学生的人数来确定窗口的大小和坐标。)

下面是我的解题过程:

首先,题目有几个要求实现:(1)利用文件输入数据 (2)利用分数绘制柱形 (2)把文件数据呈现为直观图

几个知识点结合的一道题目,我觉得值得练习一下

infile = open('read_write.txt','r') #打开文件,属性是“读”first = infile.readline() #读取文件第一行,学生数量sum = int(first) #得到数据是‘str’,需要转化为‘int’from graphics import * #导入模块graphicswin=GraphWin("学生考试成绩水平柱状图",400,400) #新建一个400*400像素的窗口t = 100 # 绘制图形时用到一个坐标变量for i in range(sum):    line = infile.readline() #读取文件中一行数据    name,score = line.split() #将一行数据分割为两个数据,name和score    score = int (score)    Text(Point(60, (2 * t + 20) / 2), name).draw(win) #图形中的Text方法,把name打印到窗口    Rectangle(Point(100, t), Point(3 * score,t+20)).draw(win) #根据每个学生分数绘制一个水平柱型(确定坐标,柱形长度)    Text(Point(3 * score+20, (2 * t+20)/2), str(score)+"分").draw(win) #把score打印到柱形后面,直观看到分数对应的柱形长度    t = t+20 #坐标下移,准备绘制下一行infile.close() #关闭文件

 运行结果如图

题目不是很难,我的方法很直接,用到的语法也很简单,从最基础练习,这些知识有实际的运用会更加深刻地牢记和理解,文件处理和graphics模块里面还有特别多的知识,这里只是最简单的应用,python的学习很多,涉及到的知识丰富广泛,需要不断学习。请大家多多指教!

转载于:https://www.cnblogs.com/chenzhenhong/p/11269277.html

你可能感兴趣的文章
关于sql优化的一个小总结
查看>>
Java语言中的正则表达式
查看>>
Java环境变量设置
查看>>
【JBPM4】判断节点decision 方法3 handler
查看>>
filter 过滤器(监听)
查看>>
Linux进程间通信---共享内存
查看>>
Computer Information
查看>>
交换机/路由器上的 S口 F口 E口
查看>>
P1298(矩阵切割)DP
查看>>
wzplayer for delphi demo截图
查看>>
团队第二周:SRS文档
查看>>
Zookeeper的安装与使用:
查看>>
密码策略限制最大与最小长度
查看>>
正则表达式模式
查看>>
使用iframe实现同域跨站提交数据
查看>>
Mouse点击之后,复制GridView控件的数据行
查看>>
ASP.NET开发,从二层至三层,至面向对象 (2)
查看>>
如何查看自己电脑支持OpenGL core版本
查看>>
页面元素定位 XPath 简介
查看>>
[转]loadrunner:系统的平均并发用户数和并发数峰值如何估算
查看>>