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

yipeiwu_com7年前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画ROC曲线和AUC值计算

利用Python画ROC曲线和AUC值计算

前言 ROC(Receiver Operating Characteristic)曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣。这篇文章将先简单的介...

Python中处理字符串之endswith()方法的使用简介

 endswith()方法返回true,如果字符串以指定后缀结尾,否则返回(False可选限制的匹配从给定的索引开始和结束)。 语法 以下是endswith()方法的语法:...

解决python中导入win32com.client出错的问题

准备写一个操作Excel脚本却在导入包的时候出现了一个小问题 导入包 from Tkinter import Tk from time import sleep, ctime fro...

在python中pandas读文件,有中文字符的方法

后面要加encoding='gbk' import pandas as pd datt=pd.read_csv('D:\python_prj_1\data_1.txt',encodi...

Python中的字符串查找操作方法总结

基本的字符串位置查找方法 Python 查找字符串使用 变量.find("要查找的内容"[,开始位置,结束位置]),开始位置和结束位置,表示要查找的范围,为空则表示查找所有。查找到后会返...