(python语言程序设计教程)自学二

2023-09-22 08:00:00

(python语言程序设计教程)自学二


前言

本系列文章,主要是对学校开设的python课程进行总结,教科书为:python语言程序设计


一、编写简单的程序

1.1. 标识符及命名规则

在程序中需要为模块命名、为函数命名,也需要为变量命名,从专业术语上来说,所有的这些符号都称为“标识符”。

Python 语言对标识符的构成是有要求的:
每个标识符必须以字母或下画线“_ ”开头,后跟字母、数字或下画线的任意序列。

根据这个规则,x、num、num_1、numEggs、python123都是标识符,而 2x、a-b、num Eggs 都是不合法标识符。在命名的时候,可以采用“驼峰式”命名法。

有一些标识符是 Python 语言本身的一部分,这些特殊的标识符称为“关键字”或“保留字”,它们不能像普通标识符那样使用。如下查看关键字:

#查看关键字:
import keyword
print(keyword.kwlist)

1.2. 变量与赋值语句

  1. python语言中的变量是用来标识对象或引用对象的

  2. python是一种强类型语言,只支持该类型允许的运算操作

  3. 变量的赋值就是用一个变量来标识某个对象

  4. 链式赋值用于为多个变量同时赋予相同的值

  5. 解包赋值语句: 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. 数值

  1. 计算机程序存储和操作的信息通常称为数据

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

#内置的运算函数
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)

结果如下图所示:

在这里插入图片描述


总结

本章简单预习了一下该本书的第二章。巩固了我之前的知识,也更加全面的了解了相关知识。

知誰之子,象帝之先。

–2023-9-21 筑基篇

更多推荐

网络安全深入学习第五课——热门框架漏洞(RCE— Apache Shiro 1.2.4反序列化漏洞)

文章目录一、序列化和反序列化二、反序列化漏洞原理三、ApacheShiro1.2.4反序列化漏洞1、漏洞描述:2、漏洞影响的版本3、Shiro反序列化漏洞原理4、工作原理:5、shiro反序列化的特征:四、ApacheShiro1.2.4反序列化漏洞手工复现1、使用DNSlog严重漏洞是否存在2、VPS监听端口3、构造

【Vue】如何搭建SPA项目--详细教程

🎬艳艳耶✌️:个人主页🔥个人专栏:《Spring与Mybatis集成整合》《springMvc使用》⛺️生活的理想,为了不断更新自己!目录1.什么是vue-cli2.安装2.1.创建SPA项目2.3.一问一答模式答案3.运行SPA项目3.1.导入项目3.2.运行项目4.基于SPA项目完成路由4.1.案例实操5.基于

Python灰帽子编程————网页信息爬取

爬取图片,问题分解:获取网页内容;从网页内容中提取图片地址;通过图片地址,将图片下载到本地。1.相关模块1.1requests模块获取网页内容。requests模块:主要是用来模拟浏览器行为,发送HTTP请求,并处理HTTP响应的功能。importrequests#被认为,最贴近与人的操作的模块importurllib

【C++】C++ 引用详解 ⑥ ( 普通变量 / 一级指针 / 二级指针 做函数参数的作用 )

文章目录一、普通变量/一级指针/二级指针做函数参数的作用1、普通变量做函数参数的作用2、一级指针做函数参数的作用3、二级指针做函数参数的作用4、代码示例-二级指针做函数参数的作用一、普通变量/一级指针/二级指针做函数参数的作用1、普通变量做函数参数的作用普通变量的作用:将普通变量传入函数作为参数,则可以在函数中,访问到

【Java 基础篇】Java 运算符宝典:Java编程的关键

在Java编程中,运算符是用于执行各种操作的特殊符号。它们可以用于操作各种数据类型,执行算术、逻辑和比较等操作。本篇博客将详细介绍Java中常见的运算符,以及它们的使用和示例。算术运算符算术运算符用于执行基本的数学运算,如加法、减法、乘法和除法。加法运算符(+)加法运算符用于将两个值相加,并返回它们的和。示例:inta

MySQL主从复制与读写分离

目录MySQL主从复制1、mysql支持的复制类型2、主从复制的工作过程3、主从复制操作1)下载时间同步工具,并配置时间源,实现slave库与master库时间同步2)、配置主master库3)配置slave库4)登录主MySQL,给从服务器授权5)登录从数据库,配置同步,并启动同步6)测试MySQL读写分离MySQL

HTTPS的传输过程

加密分为两种方式一种是对称加密,一种是非对称加密。在对称加密算法中,加密和解密使用的密钥是相同的。也就是说,加密和解密使用的是同一个密钥。因此,对称加密算法要保证安全性的话,密钥要做好保密。只能让使用的人知道,不能对外公开。在非对称加密算法中,加密使用的密钥和解密使用的密钥是不相同的。一把是作为公开的公钥,另一把是作为

机器学习西瓜书+南瓜书吃瓜教程学习笔记第四章决策树

1、算法原理从逻辑角度,一堆ifelse语句的组合从集合角度,根据某种准则划分特征空间最终目的:将样本越分越“纯”决策树是基于树结构来进行决策的例如,我们对“这是好瓜吗?”这样的问题进行决策时,通常会进行一系列的判断或“子决策”:我们先看“它是什么颜色?”,如果是“青绿色”,则我们再看“它的根蒂是什么形态?”,如果是“

Linux C 网络基础

为什么需要网络通信?进程间通信解决的是本机内通信网络通信解决的是任意不同机器的通信实现网络通信需要哪些支持1.通信设备:网卡(PC机自带);路由器和交换机;光纤、电缆和基站2.通信协议:2.1.操作系统自带协议栈(Linux的特点:丰富的网络协议)2.2.裸机开发需要独立的协议栈3.简单网络通信只需要学会系统APITC

Java基础(三)

前言:前面主要涉及到java的基本语法,接下来本篇博客主要记录Java中Collections类、泛型、以及File类、IO流的学习。目录数据结构泛型集合分类Collection的分类collection常用方法collection遍历方式迭代器for循环Lambda表达式List集合特点增删改查List集合的遍历方式

爬虫 — Scrapy 框架(一)

目录一、介绍1、同步与异步2、阻塞与非阻塞二、工作流程三、项目结构1、安装2、项目文件夹2.1、方式一2.2、方式二3、创建项目4、项目文件组成4.1、piders/__init__.py4.2、spiders/demo.py4.3、__init__.py4.4、items.py4.5、middlewares.py4.

热文推荐