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

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

一、文件处理

Python中使用文本文件,通常用open函数,例如file = open('filename.txt','r'),这就是打开一个名为“filename.txt”的文件进行读取,如果要打开绝对路径的文件,就是file=open('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 * #导入模块graphics

win=GraphWin("学生考试成绩水平柱状图",400,400) #新建一个400*400像素的窗口

t= 100 #绘制图形时用到一个坐标变量

for i inrange(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

原python最简单的图形编程_Python(简单图形和文件处理)编程相关推荐

  1. python发行版是什么意思_Python(40)常见问题:编程常见问题

    编程常见问题 目录 编程常见问题 如何创建 .pyc 文件? 如何找到当前模块名称? 如何让模块相互导入? __import__('x.y.z') 返回 ; 如何获取z? 当我编辑了导入过的模块并重新 ...

  2. python查找最长的字符串_Python简单实现查找一个字符串中最长不重复子串的方法...

    本文实例讲述了Python简单实现查找一个字符串中最长不重复子串的方法.分享给大家供大家参考,具体如下: 刚结束的一个笔试题,很简单,不多说简单贴一下具体的实现: #!usr/bin/env pyth ...

  3. python找最长的字符串_Python简单实现查找一个字符串中最长不重复子串的方法

    本文实例讲述了Python简单实现查找一个字符串中最长不重复子串的方法.分享给大家供大家参考,具体如下: 刚结束的一个笔试题,很简单,不多说简单贴一下具体的实现: #!usr/bin/env pyth ...

  4. pythongui可视化编程_Python Qt GUI与数据可视化编程

    商品参数 Python Qt GUI与数据可视化编程 定价 99.00 出版社 人民邮电出版社 版次 dy 版 出版时间 2019年09月 开本 16 作者 王维波 等 装帧 平装 页数 488 字数 ...

  5. python对excel表统计视频教程_Python实现对excel文件列表值进行统计的方法

    本文实例讲述了Python实现对excel文件列表值进行统计的方法.分享给大家供大家参考.具体如下: #!/usr/bin/env python #coding=gbk #此PY用来统计一个execl ...

  6. python简单爬虫入门一_Python简单爬虫入门二

    接着上一次爬虫我们继续研究BeautifulSoup 上一次我们爬虫我们已经成功的爬下了网页的源代码,那么这一次我们将继续来写怎么抓去具体想要的元素 首先回顾以下我们BeautifulSoup的基本结 ...

  7. python简单的小程序_Python简单小程序---名片简易系统

    Python简单小程序---名片简易系统 主程序功能代码 import cards_tools while True: cards_tools.show_meun() action = int(inp ...

  8. python兔子编程_Python兔子生兔子算法,编程练习题实例十一

    Python兔子生兔子算法,编程练习题实例十一 Python兔子生兔子算法,编程练习题实例十一 没学习python之前就听说过一个兔子生兔子的数学算法问题.现在学习了python编程后,自然要用pyt ...

  9. python爬虫爬取今日头条_python 简单爬取今日头条热点新闻(一)

    今日头条如今在自媒体领域算是比较强大的存在,今天就带大家利用python爬去今日头条的热点新闻,理论上是可以做到无限爬取的: 在浏览器中打开今日头条的链接,选中左侧的热点,在浏览器开发者模式netwo ...

  10. python在手机上可以画图吗_python简单画图教程!python怎么在屏幕上画图

    python的tutle画图教程? 是turtle海龟画图,import turtle调用模块 内置一些函数,可以自己依据需求加入,网上有教程的 什么,Python可以画图写报告 是的,比如matpl ...

最新文章

  1. Android:problem opening wizard the selected wizard could not be started
  2. 来看看如何使用策略模式干掉讨厌的 if else
  3. Nhibernate分页测试续(附源码)
  4. 文档上传下载 php开源,PHP文件的上传下载 - PHP开发学习门户的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. canvas使用技巧大全
  6. 557. 反转字符串中的单词 III
  7. 增加第三方插件_AE插件排行!!
  8. ekho嵌入式Linux移植全过程
  9. Python+Pid实现车辆速度跟踪
  10. 昂达平板不能开机刷机_常用的昂达平板电脑怎么刷机 常用的昂达平板电脑刷机教程...
  11. java自己写的网络爬虫
  12. 几款好用的串口和网络调试助手
  13. document和document.documentElement的区别
  14. Kafka 消费者模块(三):rebalance的发送JoinGroupResult请求
  15. 实战:第十五章:摸爬滚打这些年的心路历程
  16. 相似矩阵、矩阵的相似对角化
  17. python迅雷下载任务出错_迅雷下载时提示“任务出错”怎么办?(附多种解决方法)...
  18. face++旷世科技实习生面试
  19. CSS_python
  20. CocosCreator 打包微信小游戏

热门文章

  1. (TI xDM)SSCR Module—Shared Scratch Memory
  2. 案例:演示exception对象的使用
  3. android动态波浪效果,android贝塞尔曲线实现波浪效果
  4. idea 远程调试_IDEA太强悍,针对调试器和代码分析器的改进,提前知道代码怎么跑...
  5. 无限极业绩_2019中国保健品行业典型企业分析——无限极、康宝莱、汤臣倍健...
  6. 双时隙的工作原理_提高频点利用 海能达双时隙功能效率高
  7. html密码字段语法,HTML input 标签的 type 属性
  8. laravel没有route.php,Laravel中的RouteCollection.php中的NotFoundHttpException
  9. 下拉默认选择_在Excel中制作二级联动下拉菜单,太有用了
  10. vue 图片引入_一个Vue的时间插件