本章我们主要将要学习新的一门编程语言----python。主要学习内容包括开发环境搭建、基础语法巩固以及python三大流程控制。
linux系统自带python解释器,
python3 命令行输入python3即可查看python版本
pycharm安装:
pycharm是一款强大的python编辑器,具有跨平台性。
官方下载地址:
https://www.jetbrains.com/pycharm/download/
进入官网选择版本进行下载,新手建议社区版
将下载好的tar包解压到指定文件夹
tar zxf pycharm-professional-2021.1.2.tar.gz -C ~
-C 指定解压路径
运行安装脚本,按提示安装好pycharm
./pycharm.sh & &打入后台执行脚本
官网下载python解释器,pycharm编辑器相对应的可执行文件(.exe),执行即可。
注意:安装时注意勾选自动添加PATH。
变量是内存中的一块区域,对应赋值实际上是对对象的引用。即变量和内存存在着映射关系。
与大多数变量的命名规则一样,python变量的命名也是由字母、数字和下划线组成,但不能以数字开头。
python支持五中基本数字类型:
类型 | 含义 | 举例 |
---|---|---|
float | 浮点数 | 3.14 2e-2表示2*10^-2 |
int | 有符号整数 | |
long | 长整数 | |
bool | True or False | |
complex | 复数 | 6+1.5i |
实例巩固数据的输入和输出:
练习1:
编写一个程序,录入学生的姓名和三门科目的百分制成绩,计算该学生的总分和平均成绩。
练习2:
温度转换器:编写一个程序,将温度从华氏温度转换为摄氏温度
输入华氏温度,输出对应摄氏温度。
需要注意的是:
两种输出格式均要熟练掌握,并且第二种输出方式可以修改输出参数,精确小数点后有效数字的个数。
常用内置函数:
标准类型函数:
函数 | 含义 |
---|---|
str | 定义字符串 |
type | 查看类型 |
转换工厂函数:
函数 | 含义 |
---|---|
int | 定义整型 |
long | 定义长整型 |
float | 定义浮点数 |
bool | 定义波尔变量 |
complex | 定义复数变量 |
功能函数:
函数 | 含义 |
---|---|
abs | 绝对值函数 |
divmod | 整除函数 |
pow | 次方函数 |
round | 保留有效数字函数 |
顾名思义,顺序流程控制就是按照代码书写顺序执行。
实例:
编写一个程序,提示用户按园的半径计算周长和面积。
if 条件1:
action1
elif 条件2:
action2
else:
action3
if语句与大多数语言一样,在python中体现两大特性,1)简洁,2)可读性好。
通过严格的代码锁进表达一个语句属于那个代码块。
实例:
编写一个程序,提示学生输入个人平均成绩,输出学生成绩的等级。
三元运算符:
表达式1 if 条件1 else 表达式2
while 条件1:
action
while循环原理:当条件1为真时,action会一直执行,知道条件1为假时。
range(start,end.step=1)
返回一个值n,start<= n < end ,从start到end-1遍历。
range(3) [0,1,2]
range(1,4) [1,2,3]
range(0,6,2) [0,2,4]
range(4,1,-1) [4,3,2] ----> 逆序
break语句:跳出循环,即时循环没有递归完也会立刻跳出。
continue语句: 跳过当前循环进入下一个循环。
练习:
1、 求1~100之间所有的偶数之和
2、 求1~100之间所有的奇数之和
3、 用户输入一个整型数,求该数的阶乘。
1.2.
3.
经典实例1:
九九乘法表
经典实例2:
根据输入用户名和密码,判断用户名和密码是否正确,为了防止暴力破解,登陆仅有3次机会,报错提示。
数据库信息:
name=‘root’ passwd=‘westos’
log_time = 1
while log_time <= 3:
name = input("username: ")
passwd = input("password: ")
if name == 'root' and passwd == 'westos':
print(f"user {name} login success")
exit()
else:
print(f"user {name} login not success")
log_time += 1
print("error")
快捷键补充:
alt + Insert 新建项目
ctrl + 斜杠 注释/取消注释
ctrl + d 复制粘贴当前行
缩进 tab
取消缩进 shift + tab
自动规范编码: ctrl + alt + l
笔记补充:
** 次方 eg. 2**3 2的三次方
random模块生成随机数
函数 | 含义 |
---|---|
random.random() | 生成一个0到1的随机浮点数: 0<= n < 1.0 |
random.uniform(a,b) | 生成一个指定范围内的随即浮点数: a<= n <= b |
random.randint(a,b) | 生成一个指定范围内的整数: a<= n <=b |
random.choice(‘abcdadfa’) | 从序列中随机获取一个元素 |
random.shuffle([1,2,3,4]) | 将列表中元素的序列打乱 |
实例:
需求:随机生成一个1900~2000之间的年份,判断给定年非是否是闰年
规则: 一个闰年就是能被4整除但不能被100整除,或者year能被400整除
输出:年份2000年是闰年/年份1983年不是闰年
import random
year = random.randint(1900, 2000)
if year % 4 == 0 and year % 100 != 0 or year %400 == 0:
print(f'{year} is runnian')
else:
print(f'{year} is not runnian')