定义函数画圆Python python定义一个函数求圆的面积

python怎么用自定义函数画手朝左边的小人可以插函数 。turtle.setup(700,700,100,100)#setup()设置窗体大?。罅礁霾问裳 。煤膊皇潜匦氲?
turtle.speed(10)#设置画笔移到速度,参数值为0-10,数字越大 , 速度越大
turtle.pensize(10)#设置画笔尺寸大小
turtle.pencolor(‘green‘)#设置画笔颜色
turtle.penup()#将画笔抬起(抬起时移到画笔将不会在画布留下痕迹)
turtle.goto(0,190)#将画笔移到(x,y)
turtle.pendown()#将画笔落下
turtle.circle(80,360)#画圆,半径为正表示圆心在画笔左边
python pyqt怎么画圆这个例子我做定义函数画圆Python了好几天定义函数画圆Python:
1)官网C的源码定义函数画圆Python,改写成PyQt5版本的代码定义函数画圆Python,好多细节不会转化
2)网上的PyQt的例子根本运行不定义函数画圆Python了
填了无数个坑 , 结合二者 , 终于能完成了一个关于绘图的东西 。这个过程也掌握了很多新的知识点
【知识点】
1、关于多个点的使用
【定义函数画圆Python python定义一个函数求圆的面积】poitns = [QPoint(10, 80), QPoint(20, 10), QPoint(80, 30), QPoint(90, 70)]
请看:
1# 定义多个点 2points = [QPoint(10, 80), QPoint(20, 10), QPoint(80, 30), QPoint(90, 70)] 34# ===直接使用 points 会报错!========= 5# ... 6elif self.shape == self.Points: 7painter.drawPoints(points) 89elif self.shape == self.Polyline:10painter.drawPolyline(points)11 12elif self.shape == self.Polygon:13painter.drawPolygon(points, 4)14 15# ...16 17# ===把 points 用 QPolygon()包裹起来才正确!=========18# ...19elif self.shape == self.Points:20painter.drawPoints(QPolygon(points))21 22elif self.shape == self.Polyline:23painter.drawPolyline(QPolygon(points))24 25elif self.shape == self.Polygon:26painter.drawPolygon(QPolygon(points), 4)27 28# ...
2、在QDialog窗体中显示QWidget部件
【效果图】
【资源】
【代码】
import sysfrom PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *class StockDialog(QWidget):def __init__(self, parent=None):
super(StockDialog, self).__init__(parent)
self.setWindowTitle("利用QPainter绘制各种图形")
mainSplitter = QSplitter(Qt.Horizontal)
mainSplitter.setOpaqueResize(True)
frame = QFrame(mainSplitter)
mainLayout = QGridLayout(frame)#mainLayout.setMargin(10)
mainLayout.setSpacing(6)
label1=QLabel("形状:")
label2=QLabel("画笔线宽:")
label3=QLabel("画笔颜色:")
label4=QLabel("画笔风格:")
label5=QLabel("画笔顶端:")
label6=QLabel("画笔连接点:")
label7=QLabel("画刷风格:")
label8=QLabel("画刷颜色:")
self.shapeComboBox = QComboBox()
self.shapeComboBox.addItem("Line", "Line")
self.shapeComboBox.addItem("Rectangle", "Rectangle")
self.shapeComboBox.addItem('Rounded Rectangle','Rounded Rectangle')
self.shapeComboBox.addItem('Ellipse','Ellipse')
self.shapeComboBox.addItem('Pie','Pie')
self.shapeComboBox.addItem('Chord','Chord')
self.shapeComboBox.addItem('Path','Path')
self.shapeComboBox.addItem('Polygon','Polygon')
self.shapeComboBox.addItem('Polyline','Polyline')
self.shapeComboBox.addItem('Arc','Arc')
self.shapeComboBox.addItem('Points','Points')
self.shapeComboBox.addItem('Text','Text')
self.shapeComboBox.addItem('Pixmap','Pixmap')
self.widthSpinBox = QSpinBox()
self.widthSpinBox.setRange(0,20)
self.penColorFrame = QFrame()
self.penColorFrame.setAutoFillBackground(True)
self.penColorFrame.setPalette(QPalette(Qt.blue))
self.penColorPushButton = QPushButton("更改")
self.penStyleComboBox = QComboBox()
self.penStyleComboBox.addItem("Solid",Qt.SolidLine)
self.penStyleComboBox.addItem('Dash',Qt.DashLine)
self.penStyleComboBox.addItem('Dot',Qt.DotLine)
self.penStyleComboBox.addItem('Dash Dot',Qt.DashDotLine)
self.penStyleComboBox.addItem('Dash Dot Dot',Qt.DashDotDotLine)
self.penStyleComboBox.addItem('None',Qt.NoPen)
self.penCapComboBox = QComboBox()
self.penCapComboBox.addItem("Flat",Qt.FlatCap)
self.penCapComboBox.addItem('Square', Qt.SquareCap)
self.penCapComboBox.addItem('Round', Qt.RoundCap)
self.penJoinComboBox = QComboBox()
self.penJoinComboBox.addItem("Miter",Qt.MiterJoin)
self.penJoinComboBox.addItem('Bebel', Qt.BevelJoin)
self.penJoinComboBox.addItem('Round', Qt.RoundJoin)
self.brushStyleComboBox = QComboBox()
self.brushStyleComboBox.addItem("Linear Gradient",Qt.LinearGradientPattern)
self.brushStyleComboBox.addItem('Radial Gradient', Qt.RadialGradientPattern)
self.brushStyleComboBox.addItem('Conical Gradient', Qt.ConicalGradientPattern)
self.brushStyleComboBox.addItem('Texture', Qt.TexturePattern)
self.brushStyleComboBox.addItem('Solid', Qt.SolidPattern)
self.brushStyleComboBox.addItem('Horizontal', Qt.HorPattern)
self.brushStyleComboBox.addItem('Vertical', Qt.VerPattern)
self.brushStyleComboBox.addItem('Cross', Qt.CrossPattern)
self.brushStyleComboBox.addItem('Backward Diagonal', Qt.BDiagPattern)
self.brushStyleComboBox.addItem('Forward Diagonal', Qt.FDiagPattern)
self.brushStyleComboBox.addItem('Diagonal Cross', Qt.DiagCrossPattern)
self.brushStyleComboBox.addItem('Dense 1', Qt.Dense1Pattern)
self.brushStyleComboBox.addItem('Dense 2', Qt.Dense2Pattern)
self.brushStyleComboBox.addItem('Dense 3', Qt.Dense3Pattern)
self.brushStyleComboBox.addItem('Dense 4', Qt.Dense4Pattern)
self.brushStyleComboBox.addItem('Dense 5', Qt.Dense5Pattern)
self.brushStyleComboBox.addItem('Dense 6', Qt.Dense6Pattern)
self.brushStyleComboBox.addItem('Dense 7', Qt.Dense7Pattern)
self.brushStyleComboBox.addItem('None', Qt.NoBrush)
self.brushColorFrame = QFrame()
self.brushColorFrame.setAutoFillBackground(True)
self.brushColorFrame.setPalette(QPalette(Qt.green))
self.brushColorPushButton = QPushButton("更改")
labelCol=0
contentCol=1
#建立布局
mainLayout.addWidget(label1,1,labelCol)
mainLayout.addWidget(self.shapeComboBox,1,contentCol)
mainLayout.addWidget(label2,2,labelCol)
mainLayout.addWidget(self.widthSpinBox,2,contentCol)
mainLayout.addWidget(label3,4,labelCol)
mainLayout.addWidget(self.penColorFrame,4,contentCol)
mainLayout.addWidget(self.penColorPushButton,4,3)
mainLayout.addWidget(label4,6,labelCol)
mainLayout.addWidget(self.penStyleComboBox,6,contentCol)
mainLayout.addWidget(label5,8,labelCol)
mainLayout.addWidget(self.penCapComboBox,8,contentCol)
mainLayout.addWidget(label6,10,labelCol)
mainLayout.addWidget(self.penJoinComboBox,10,contentCol)
mainLayout.addWidget(label7,12,labelCol)
mainLayout.addWidget(self.brushStyleComboBox,12,contentCol)
mainLayout.addWidget(label8,14,labelCol)
mainLayout.addWidget(self.brushColorFrame,14,contentCol)
mainLayout.addWidget(self.brushColorPushButton,14,3)
mainSplitter1 = QSplitter(Qt.Horizontal)
mainSplitter1.setOpaqueResize(True)
stack1 = QStackedWidget()
stack1.setFrameStyle(QFrame.Panel|QFrame.Raised)
self.area = PaintArea()
stack1.addWidget(self.area)
frame1 = QFrame(mainSplitter1)
mainLayout1 = QVBoxLayout(frame1)#mainLayout1.setMargin(10)
mainLayout1.setSpacing(6)
mainLayout1.addWidget(stack1)
layout = QGridLayout(self)
layout.addWidget(mainSplitter1,0,0)
layout.addWidget(mainSplitter,0,1)
self.setLayout(layout)
#信号和槽函数self.shapeComboBox.activated.connect(self.slotShape)
self.widthSpinBox.valueChanged.connect(self.slotPenWidth)
self.penColorPushButton.clicked.connect(self.slotPenColor)
self.penStyleComboBox.activated.connect(self.slotPenStyle)
self.penCapComboBox.activated.connect(self.slotPenCap)
self.penJoinComboBox.activated.connect(self.slotPenJoin)
self.brushStyleComboBox.activated.connect(self.slotBrush)
self.brushColorPushButton.clicked.connect(self.slotBrushColor)
self.slotShape(self.shapeComboBox.currentIndex())
self.slotPenWidth(self.widthSpinBox.value())
self.slotBrush(self.brushStyleComboBox.currentIndex())
def slotShape(self,value):
shape =self.area.Shape[value]
self.area.setShape(shape)
def slotPenWidth(self,value):
color = self.penColorFrame.palette().color(QPalette.Window)
style = Qt.PenStyle(self.penStyleComboBox.itemData(self.penStyleComboBox.currentIndex(),Qt.UserRole))
cap = Qt.PenCapStyle(self.penCapComboBox.itemData(self.penCapComboBox.currentIndex(),Qt.UserRole))
join = Qt.PenJoinStyle(self.penJoinComboBox.itemData(self.penJoinComboBox.currentIndex(),Qt.UserRole))
self.area.setPen(QPen(color,value,style,cap,join))
def slotPenStyle(self,value):
self.slotPenWidth(value)
def slotPenCap(self,value):
self.slotPenWidth(value)
def slotPenJoin(self,value):
self.slotPenWidth(value)
def slotPenColor(self):
color = QColorDialog.getColor(Qt.blue)
self.penColorFrame.setPalette(QPalette(color))
self.area.setPen(QPen(color))
def slotBrushColor(self):
color = QColorDialog.getColor(Qt.blue)
self.brushColorFrame.setPalette(QPalette(color))
self.slotBrush(self.brushStyleComboBox.currentIndex())
def slotBrush(self,value):
color = self.brushColorFrame.palette().color(QPalette.Window)
style = Qt.BrushStyle(self.brushStyleComboBox.itemData(value,Qt.UserRole))
if(style == Qt.Lin
Python3中的turtle库中turtle. cricle()如何使用,为什么我改变半径的正负画圆定义函数画圆Python的函数如下
turtle.circle(radius,extent=None, steps=None)
参数分别为半径、弧度和画圆弧线段定义函数画圆Python的数量
半径为负定义函数画圆Python,方向相反定义函数画圆Python的原因可以看下turtle库的源代码
w = 1.0 * extent / steps
w2 = 0.5 * w
l = 2.0 * radius * math.sin(w2*math.pi/180.0*self._degreesPerAU)
if radius0:
l, w, w2 = -l, -w, -w2
时设计模块时定义函数画圆Python , 可能就希望用半径的正负控制划线的方向
用python画一个圆###################################
#coding=utf-8
#!/usr/bin/env python
#__author__ = 'pipi'
#ctime 2014.10.11
#绘制椭圆和圆形
###################################
from matplotlib.patches import Ellipse, Circle
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
ell1 = Ellipse(xy = (0.0, 0.0), width = 4, height = 8, angle = 30.0, facecolor= 'yellow', alpha=0.3)
cir1 = Circle(xy = (0.0, 0.0), radius=2, alpha=0.5)
ax.add_patch(ell1)
ax.add_patch(cir1)
x, y = 0, 0
ax.plot(x, y, 'ro')
plt.axis('scaled')
# ax.set_xlim(-4, 4)
# ax.set_ylim(-4, 4)
plt.axis('equal')#changes limits of x or y axis so that equal increments of x and y have the same length
plt.show()
定义函数画圆Python你可以试试定义函数画圆Python,谢谢 。
python怎么调用函数画五环?import turtle
turtle.showturtle()#屏幕上显示出来海龟绘图,终端中会用到
turtle.penup() #抬起画笔 , 此时画笔的移动不会留下痕迹
turtle.pendown() #放下画笔,此时画笔的移动会留下痕迹
turtle.pensize(3) #笔粗为3
turtle.goto(-200,100) #将画笔移动到(-200,100)坐标
turtle.color("red")#设定画笔的颜色为红色
turtle.circle(100)#以当前画笔所在点为圆最下端开始画半径为100的圆
turtle.circle(100,steps=n)#绘制一个周长为100,的n边形
turtle.forward(200)#将画笔前进200
turtle.backward(100) #将比后退100
turtle.right(70)#将画笔箭头的方向向右移70度
turtle.left(90)#将画笔箭头的方向向左移90度
turtle.stamp()#复制当前图形
turtle.write("hello,小朋友",font=('宋体',20,"normal"))#添加括号里的字符,font设置字符字体,大小以及作用
turtle.reste()#重置
turtle.hideturtle()#将画笔隐藏
turtle.done()#把所绘图显示出来,不关闭绘图软件
给绘制的图形填充颜色
turtle.begin_fill()
turtle.circle(100)
turtle.color("yellow")
turtle.end_fill()
1
2
3
4
例:画出奥运五环
import turtle
turtle.color("blue")
turtle.circle(100)
turtle.penup()
turtle.goto(-200,0)
turtle.pendown()
turtle.color("red")
turtle.circle(100)
turtle.penup()
turtle.goto(200,0)
turtle.color("yellow")
turtle.pendown()
turtle.circle(100)
turtle.penup()
turtle.goto(-100,-100)
turtle.color("black")
turtle.pendown()
turtle.circle(100)
turtle.penup()
turtle.goto(100,-100)
turtle.color("black")
turtle.pendown()
turtle.circle(100)
turtle.done()
python 用eval(input)画这样四个圆 提示用户输入半径python有两种编程方式 , 交互式和文件式 。
交互式:对每个输入语句即时运行结果------适合语法练习
文件式:批量执行一组语句并运行结果------编程的主要方式
实例1:圆面积的计算(根据半径r计算圆面积)
上图明显是交互式运行的结果,如果想编辑文件式运行 , 则先编辑一个calcircle.py文件,将上述代码写进去 。
然后输入代码 python calcircle.py,命令界面即可输出代码结果 。
下面我们试试绘制多个同心圆的代码:
1 import turtle 2 turtle.pensize(2) 3 turtle.circle(10) 4 turtle.circle(40) 5 turtle.circle(80) 6 turtle.circle(160) 7 turtle.done()
运行结果 , 如下图所示
下面我们稍微分析一下这段代码
import turtle#导入海龟库 turtle.pensize(2)#设置画笔的大小 turtle.circle(10)#画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆 turtle.circle(40) turtle.circle(80) turtle.circle(160) turtle.done()#必须是乌龟图形程序中的最后一个语句
关于turtle库的使用,之后还会提及,turtle库是python的自带库,绘制图像相对来说比较方便,容易理解
当然上述的代码也可以这样写
1 from turtle import * 2 pensize(2) 3 circle(10) 4 circle(40) 5 circle(80) 6 circle(160) 7 done()
大家很容易发现他们的不同,就是第一句的区别,关于import的用法也将在后续章节详细讲述 。
下面我们来画一个难一点的图形
from turtle import * color('red','black')#前一个颜色是线条色,后一个是填充色 begin_fill()#从这里开始填充 for i in range(5):#画五笔就可以结束 fd(200) rt(144)#向右旋转144度 end_fill()#结束填充 done()
下面我们从一个简单的小程序来分析python的语法体系
我们大家都知道,华氏温度和摄氏温度之间的转换,我们可以用python编程实现
TempStr = input("请输入带有符号的温度值: ")#input显示的内容出现在屏幕上,且返回一个str类型的字符串 if TempStr[-1] in ['F', 'f']:#如果最后一个字符是F C = (eval(TempStr[0:-1]) - 32)/1.8#eval将字符串转换成数字 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("输入格式错误")
缩进:缩进表达程序的格式框架
1、严格明确:缩进是语法的一部分 , 缩进不正确程序运行错误
2、所属关系:表达代码间包含层次关系的唯一手段
3、长度一致:使用TAB键即可
python编程语言有一个重要的特点就是取消了{ }而用缩进的方式进行代码块的分割,初学者可能不习惯,多写几次就习惯了这种写法 。
注释:不被程序执行的辅助性说明信息
单行注释:
#这是单行注释
多行注释:
1 '''这是多行注释 2 3 23333333333333 '''
变量:程序中用于保存和表示数据的占位符号
变量采用标识符(名字)来表示,关联标识符的过程叫命名
TempStr是变量名字
可以使用等号(=)向变量赋值或修改值 , =被称为赋值符
TempStr="82F" #向变量TempStr赋值"82F"
命名规则:大小写字母、数字、下划线和汉字等字符
如:TempStr、Python_Great
注意事项:大小写敏感、首字符不能是数字、不与保留字相同
python与Python是不同的变量,123Python是不合法变量
保留字
被编程语言内部定义并保留使用的标识符
python语言有33个保留字(也叫关键字)
if,elif,else,in
保留字是编程语言的基本单词 , 大小写敏感
if是保留字,If是变量
保留字
数据类型
字符串、整数、浮点数、列表
10011101该如何解释呢?
这是一个二进制数字或十进制数字
作为二进制数字,10011101的值是十进制157
这是一段文本或者用逗号分隔3个数字
作为一段文本,逗号是文本中的一部分,一共包含10个字符
整数类型10011101
字符串类型:"10,011,101"
列表类型:[10,011,101]
字符串:由0个或多个字符组成的有序字符序列
由一对双引号或一对单引号表示
"helloworld"或'GOOD'
字符串是字符的有序序列,可以对其中字符进行索引
如"你"是"你好啊"这个字符串的第0个字符
python的字符串序号,正向递增,反向递减
字符串的使用
使用[ ]获取字符串中一个或多个字符
1 TempStr = input("请输入带有符号的温度值: ") 2 if TempStr[-1] in ['F', 'f']:#TempStr[-1]指的是最后一个字符 3 C = (eval(TempStr[0:-1]) - 32)/1.8#TempStr[0:-1]指的是字符串从第一个到最后一个之前的所有字符串 4 print("转换后的温度是{:.2f}C".format(C)) 5 elif TempStr[-1] in ['C', 'c']: 6 F = 1.8*eval(TempStr[0:-1])32 7 print("转换后的温度是{:.2f}F".format(F)) 8 else: 9 print("输入格式错误")
数字类型:整数和浮点数
整数:数学中的整数
32或-89
浮点数:数学中的实数 , 带有小数部分
1.8或者-1.8或者-1.0
列表类型:由0个或多个数据组成的有序序列
列表使用[ ]表示 , 采用逗号分隔各元素
[ 'F' , 'f' ]表示列表里含义两个元素'F'和'f'
使用保留字in判断一个元素是否在列表中
TempStr[-1] in ['C' , 'c']判断前者是否与列表中的某个元素相同
赋值语句:由赋值符号构成的一行代码
赋值符号笔者之前提过 , 就是我们俗称的等于号,但等于号在编程语言中通常表示赋值,不表示等于号的含义 。
1、赋值语句用来给变量赋予新的数据值
C = (eval(TempStr[0:-1]) - 32)/1.8 #右侧运算结果值赋值给C
2、赋值语句右侧的数据类型同时作用于变量
TempStr = input("请输入带有符号的温度值: ") #input返回一个字符串,所以TempStr也是字符串
分支语句:由判断条件决定程序运行方向的语句
1 if TempStr[-1] in ['F', 'f']:
如果条件为True则执行冒号后的语句
2、每个保留字所在行最后存在一个冒号:,是语法的一部分
冒号及后续缩进用来表示后续语句与条件的所属关系
函数:根据输入参数产生不同输出的功能过程
类似于数学中的函数 , y=f(x)
print("输入格式错误") #打印出 输入格式错误
函数采用函数名(参数)的方式使用
1 eval(TempStr[0:-1])#TempStr[0:-1]是参数
python的输入输出
input():从控制台获得用户输入的函数
input()函数的使用格式:
1 变量=input (提示信息字符串)
用户输入的信息以字符串类型保存在变量中
1 TempStr=input("请输入") #TempStr保存用户输入的信息
输出函数print()
以字符形式向控制台输出结果的函数
print()函数的基本使用格式
1 print(拟输出字符串或字符串变量)
字符串类型的一对引号仅在程序内部使用,输出无引用
1 print("输入格式错误")#向控制台输出 输入格式错误
print函数的格式化:
1print("转换后的温度是{:.2f}C".format(C))
{ }表示槽,后续变量填充到槽中
{:.2f}表示将变量C填充到这个位置时取小数点后2位
如果C的值是123.456789 , 则输出结果为123.45C
评估函数eval():去掉参数最外侧引号并执行余下语句的函数
eval的基本使用格式
1 eval(字符串或字符串变量)
eval("1") 1
定义函数画圆Python的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于python定义一个函数求圆的面积、定义函数画圆Python的信息别忘了在本站进行查找喔 。

    推荐阅读