使用pyhon绘图比较两个手机屏幕大小(实例代码)

yipeiwu_com6年前Python基础

背景:准备给长辈买个手机,有关手机大小,网购平台基本只有手机尺寸和分辨率的文本数据,因而对手机屏幕大小没有直观感受,虽然网上有比较手机大小的网站(百度搜索),但是只有知名的手机才有数据,因而自己动手写了个python脚本,根据手机的尺寸及分辨率,利用tkinter绘图直观比较两个手机屏幕的大小。

目前遇到的问题是:tkinter绘图设置是左上角和右下角坐标,人的阅读习惯是左下角和右上角,还不知道解决。

直接丢代码,效果图在文末:

import tkinter,math
 #手机一参数设置:
first_phone = (7.2,2244,1080) #(尺寸,分辨长,分辨宽)
#手机二参数设置:
second_phone =(6.59,2340,1080) #(尺寸,分辨长,分辨宽)
def calc_phone(phone_info):#参数为手机信息(尺寸,分辨率长,分辨率宽)
  diagonal,res_l,res_w = phone_info
  #计算宽度
  w = math.sqrt(
    math.pow(diagonal, 2)*math.pow(res_w,2)/(math.pow(res_w,2)+math.pow(res_l,2))
    )
  #计算长度
  l = math.sqrt(math.pow(diagonal, 2)-math.pow(w,2))
  return l,w  
#创建窗口
window = tkinter.Tk()
#窗口标题
window.title(f'手机大小对比          蓝色({first_phone[0]}尺寸),黑色({second_phone[0]}尺寸)')
#创建画布
canvas = tkinter.Canvas (window,width=600,height=800,bg="white")
#绘制矩形a,b,c,d值为左上角和右下角的坐标),填充颜色:blue,边框颜色:blue
a = 100 
c,d = calc_phone(first_phone)
canvas.create_rectangle(a,a,a+100*d,a+100*c,outline='blue')#手机一
c,d = calc_phone(second_phone)
canvas.create_rectangle(a,a,a+100*d,a+100*c)#手机二
#包装画布
canvas.pack()
#删除指定图形
# canvas.delete("red")
#运行并显示窗口
window.mainloop()

效果图如下

总结

以上所述是小编给大家介绍的使用pyhon绘图比较两个手机屏幕大小,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

python pygame实现2048游戏

python pygame实现2048游戏

实现2048相对来说比较简单,用4*4的二维数组保存地图,pygame.key.get_pressed()获取键盘操作,详见代码。 效果图 代码 # -*- coding: ut...

Python排序搜索基本算法之插入排序实例分析

Python排序搜索基本算法之插入排序实例分析

本文实例讲述了Python排序搜索基本算法之插入排序。分享给大家供大家参考,具体如下: 插入排序生活中非常常见,打扑克的时候人的本能就在用插入排序:把抽到的一张插入到手上牌的正确位置上。...

django用户注册、登录、注销和用户扩展的示例

django用户注册、登录、注销和用户扩展的示例

用户部分是一个网站的基本功能,django对这部分进行了很好的封装,我们只需要在django的基础上做些简单的修改就可以达到我们想要的效果 首先我假设你对django的session、c...

Python操作MySQL数据库的方法

pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。 下载安装 pip3 install pymysql 使用操作 1、执行SQL i...

python中的列表与元组的使用

在python中的数据类型和控制流这篇文章中我们提到过列表,它是基本的数据类型之一。 通俗来说,它就是用来存储一系列数据的。比如存储一个班级的学生。 列表中的每个元素可以通过下标(索引)...