文章目录
- 前言
- 一、编写简单的程序
- 1.1. 标识符及命名规则
- 1.2. 变量与赋值语句
- 1.3. 数值
- 1.4. 字符串
- 二、turtle画图
- 2.1. 绘制爱心并书写文本
- 2.2. 绘制幸运的四叶草
- 2.3. 浪漫的玫瑰花
- 三、课后习题
- 总结
前言
本系列文章,主要是对学校开设的python课程进行总结,教科书为:python语言程序设计
一、编写简单的程序
1.1. 标识符及命名规则
在程序中需要为模块命名、为函数命名,也需要为变量命名,从专业术语上来说,所有的这些符号都称为“标识符”。
Python 语言对标识符的构成是有要求的:
每个标识符必须以字母或下画线“_ ”开头,后跟字母、数字或下画线的任意序列。
根据这个规则,x、num、num_1、numEggs、python123都是标识符,而 2x、a-b、num Eggs 都是不合法标识符。在命名的时候,可以采用“驼峰式”命名法。
有一些标识符是 Python 语言本身的一部分,这些特殊的标识符称为“关键字”或“保留字”,它们不能像普通标识符那样使用。如下查看关键字:
#查看关键字:
import keyword
print(keyword.kwlist)
1.2. 变量与赋值语句
- python语言中的变量是用来标识对象或引用对象的
- python是一种强类型语言,只支持该类型允许的运算操作
- 变量的赋值就是用一个变量来标识某个对象
- 链式赋值用于为多个变量同时赋予相同的值
- 解包赋值语句: python支持将序列数据类型解包为对应相同个数的变量
x = y = z = 100
print(x,y,z)
x = 100;y = 200
print(x,y)
a , b = "星","石"
print(a,b)
a,b = b,a
print(a,b)
#结果:
100 100 100
100 200
星 石
石 星
1.3. 数值
- 计算机程序存储和操作的信息通常称为数据
#内置的运算函数
print(divmod(234,5))
print(pow(2,4))
print(pow(2,4,3))
#math库中的函数
from math import gcd,modf,factorial,pow,degrees,pi,radians,hypot
print(gcd(12,28)) #返回最大公因数
print(modf(3.4)) #返回小数、整数
print(factorial(5)) #返回阶乘
print(pow(2,3)) #返回x的y次幂
print(degrees(pi));print(radians(180)) #分别返回对应的角度值、弧度制
print(hypot(4,3)) #返回到原点的距离
#结果:
(46, 4)
16
1
4
(0.3999999999999999, 3.0)
120
8.0
180.0
3.141592653589793
5.0
1.4. 字符串
使用单引号或双引号引起来的内容,称为字符串类型数据(str),python语言的解释器会自动创建str类型对象实例
name = input("请输入您的姓名:")
introduce = input("介绍一下自己:")
zong = f"大家好!我的名字是{name},{introduce},请多关照"
print(zong)
m = int(input("输入月份:"))
months = "janfebmaraprmayjunjulaugsepoctnovdec"
pos = (m-1) *3
print(months[pos:pos+3])
#结果:
请输入您的姓名:星石
介绍一下自己:星辉浸染的石岩,镌刻那古老的传说:万千生灵信仰的所在
大家好!我的名字是星石,星辉浸染的石岩,镌刻那古老的传说:万千生灵信仰的所在,请多关照
输入月份:3
mar
字符串处理与操作:
1. 字符串查找:
find()、rfind()
index() 、rindex()
count()2. 字符串分割:
split() 与rsplit()
partition() 与rpartition()3. 字符串连接:
join()
…
二、turtle画图
2.1. 绘制爱心并书写文本
import turtle
# 绘制爱心
turtle.pencolor('red') # 画笔颜色
turtle.penup() # 提笔
turtle.goto(0,100)
turtle.begin_fill() # 开始填色
turtle.fillcolor('pink') # 填充颜色
turtle.pendown() # 落笔
turtle.left(135)
turtle.circle(70.7,180)
turtle.goto(0,-100)
turtle.left(90)
turtle.goto(100,0)
turtle.circle(70.7,180)
turtle.end_fill() # 结束填色
turtle.hideturtle() # 隐藏画笔形状
# 书写文本
turtle.pencolor("blue")
turtle.penup()
turtle.goto(0,-150) # 将画笔移动到书写位置
turtle.write("星石传说", align="center")
turtle.done()# 停止绘图,但窗口不关闭
2.2. 绘制幸运的四叶草
import turtle
turtle.fillcolor("pink") #设置填充颜色
turtle.begin_fill() #开始填色
#绘制花瓣#第一片叶子
turtle.circle(80,45); turtle.circle(20,180); turtle.left(180)
turtle.circle(20,180); turtle.circle(80,45) ;turtle.left(180)
turtle.circle(80, 45); turtle.circle(20,180) ;turtle.left(180)
turtle.circle(20,180) ;turtle.circle(80,45) ;turtle.left(180)
turtle.circle(80,45) ;turtle.circle(20,180) ;turtle.left(180)
turtle.circle(20,180); turtle.circle(80,45) ;turtle.left(180)
turtle.circle(80,45) ;turtle.circle(20,180) ;turtle.left(180)
turtle.circle(20,180) ;turtle.circle(80,45) ;turtle.left(180)
turtle.end_fill() # 结束填色
# 绘制花枝
turtle.pencolor("green")
turtle.pensize(2) #设置画笔宽度
turtle.penup()
turtle.goto(-25,-25) ;turtle.pendown(); turtle.right(90)
turtle.circle(-200,60)
turtle.hideturtle() # 隐藏画笔形状
# 书写文本
turtle.penup()
turtle.goto(0, 100)
turtle.write('N号观察者!', font=('arial', 18, 'italic'))
turtle.done() #停止绘图,但窗口不关闭
2.3. 浪漫的玫瑰花
import turtle
#绘制玫瑰花
# 设置初始位置 turtle.penup()
turtle.goto(0,200) ;turtle.pendown()
# 绘制花朵
turtle.pensize(5)
turtle.fillcolor("red"); turtle.begin_fill()
turtle.circle(10,180) ;turtle.circle(20,120) ;turtle.left(40)
turtle.circle(60,45)
turtle.circle(20, 160); turtle.right(20)
turtle.forward(30) # 前行
turtle.left(15)
turtle.circle(30,120); turtle.forward(20); turtle.left(30)
turtle.circle(80,60) ;turtle.circle(30, 150) ;turtle.right(30) ;turtle.forward(15)
turtle.circle(80, 90) ;turtle.left(20)
turtle.forward(40);turtle.right(160) ;turtle.forward(30) ;turtle.left(155)
turtle.circle(150,80) ;turtle.left(50)
turtle.circle(150,80) ;turtle.end_fill()
# 回到花朵底部
turtle.penup(); turtle.left(180)
turtle.circle(-150,80) # 参数为负数代表反向画圆弧
turtle.pendown()
# 绘制叶子
turtle.setheading(-90) # 设置画笔方向,负数表示反向
turtle.forward(30)
turtle.setheading(160) ;turtle.forward(20) ;turtle.left(40)
turtle.fillcolor("green"); turtle.begin_fill()
turtle.circle(-80,80); turtle.right(100)
turtle.circle(-80,80); turtle.end_fill()# 回到花枝主干
turtle.setheading(160)
turtle.backward(20) # 后退
turtle.setheading(-90);turtle.forward(40)# 绘制叶子
turtle.setheading(45) ;turtle.forward(20) ;turtle.right(40)
turtle.fillcolor("green"); turtle.begin_fill() ;turtle.circle(80,80); turtle.left(100)
turtle.circle(80,80) ;turtle.end_fill()
# 回到花枝主干
turtle.setheading(45) ;turtle.backward(20)
turtle.setheading(-90) ;turtle.circle(-200,50)
turtle.hideturtle()
# 书写文本
turtle.pencolor("purple")
turtle.penup()
turtle.goto(0, 100)
turtle.write('赠人玫瑰,手留余香', font=('arial', 18, 'italic'))
turtle.done() #停止绘图,但窗口不关闭
三、课后习题
#1.
from math import atan,sqrt,pi,log,e
print(sqrt((pi)**2 +3))
print(log((2*pi)*sqrt(13+e)))
print(atan(log(pi+1,3))) #atan(),反正切函数值
#2.
v = 4/3 *pi*(2.11**3)
print(f"{v:.2f}")
s = pi*(16.2**2-9.4**2)
print(f"{s:.2f}")
tj = pi*66**2*24.2
print(f"{tj:.2f}")
bmj =2* pi*66**2 +2*pi*66*24.2
print(f"{bmj:.2f}")
3.
x1 = int(input("输入第一个点的横坐标:"))
x2 = int(input("输入第二个点的横坐标:"))
y1 = int(input("输入第一个点的纵坐标:"))
y2 = int(input("输入第二个点的纵坐标:"))
juli = sqrt((x1 - x2)**2 + (y1 - y2)**2)
print(f"{juli:.2f}")
#4.
url = "http://sports.sina.com.cn/"
print(url.count("t"))
print(url.find("com"))
print(url.replace(".","_"))
print(url[7:13],url[-12:-8])
print(url.upper())
print(len(url))
print(url+"index")
#5.
chinese = int(input("输入语文成绩:"))
Math = int(input("输入数学成绩:"))
english = int(input("输入英语成绩:"))
import pandas as pd
import numpy as np
cj = pd.Series([chinese,Math,english])
print(cj.sum(),cj.mean(),cj.max(),cj.min())
qz = pd.Series([0.5,0.3,0.2]) #或者:qz = [0.5,0.3,0.2]
print(np.dot(cj,qz))
#6.
sws = int(input("请输入一个三位数的整数:"))
bai = sws //100 ;shi = sws//10 %10 ; ge = sws%10
he = bai +shi+ge
print("和为:" , he)
结果如下图所示:
总结
本章简单预习了一下该本书的第二章。巩固了我之前的知识,也更加全面的了解了相关知识。