必须要装的:python解释器,pycharm
解释器:把py代码翻译给计算机识别,并执行
pycharm,编辑器,只是用来写代码的,类似于word
单纯python解释器不适合之后写大量代码,如项目等
一.基础语法
1.变量
变量命名,由字母数字下划线组成,不能以数字开头
py中变量定义不需要指定类型
2.运算符
int(有符号整数)
float(浮点数)比如小数
bool布尔值(0,1.yes,no)
complex(复数)
整型
2e-2(0.02),2e+4(20000)
浮点型
凡是用科学计数法表示的都会被判定为浮点型
>>> bool_a= 1<3
>>> bool_a
True
>>> bool_b=1>3
>>> bool_b
False
bool类型
3.常见的运算符
算术运算符+ - * /
**次方
%取余
//整除
>>> 2**3
8
>>> 10%3
1
>>> 10//3
3
赋值运算符
=,+=,-=,*=
>>> num=1
>>> num=num+1
>>> num
2
>>> num=1
>>> num+=1
>>> num
2
关系运算符
注意=和==的区别
==是判断是否相等,=是赋值
>>> name='admin'
>>> name=='root'
False
>>> name=='admin'
True
>>> name!='root'
True
关系运算符返回的是bool类型
逻辑运算符:与或非
and,or,not
逻辑与,全真则真,一假则假
逻辑或,全假则假,一真则真
逻辑非,真就是假,假就是真
>>> name=='admin'
True
>>> password='admin'
>>> name =='admin' and password=='admin'
True
>>> name =='admin' and password=='admi'
False
>>> name=='admin' or password=='0'
True
4.数据的输入和输出
输入:
>>> name=input()
hello
>>> name
'hello'
>>> name = input()
chihao
>>> name
'chihao'
>>> name=input('请输入名称:')
请输入名称:chihao
>>> name
'chihao'
>>> age=input('年龄')
年龄19
>>> age
'19'
>>> age=int(input('年龄')) #这一步是重点
年龄19
>>> age
19
>>> age > 18
True
int()转换数据类型为整形
float()转换数据类型为浮点型
bool()转换数据为布尔型
>>> num = 10
>>> num
10
>>> bin(num)
'0b1010'
>>> binary_num = bin(num)
>>> type(binary_num)
<class 'str'>
bin十进制转二进制
输出:
>>> name = 'chihao'
>>> age='25'
>>> print('姓名: %s 年龄:%d' %(name,age))
姓名: chihao 年龄:25
%s, s=string,%d, d=digit
占位符,字符串和整型的数字
把name,age传参给前面的s和d
>>> score=99.99992
>>> print('姓名: %s 年龄:%d 分数:%f' %(name,age,score))
姓名: chihao 年龄:25 分数:99.999920
>>> print('姓名: %s 年龄:%d 分数:%.2f' %(name,age,score))
姓名: chihao 年龄:25 分数:100.00
&f,f=float
%.2f保留小数点后两位
>>> print(f"姓名:{name},年龄:{age},分数:{score}")
姓名:chihao,年龄:25,分数:99.99992
f格式化,{}变量
.%s
%d
%f
%.2f
以及format格式化打印字符串
5.一些函数
(1)abs求绝对值,divmod返回商和余数,pow次方,round保留小数点后几位
>>> abs(-2)
2
>>> divmod(10,3)
(3, 1)
>>> pow(3,3)
27
>>> round (3.1213132,4)
3.1213
(2)比较常用的模块,math,random
>>> import math
>>> math.pi
3.141592653589793
>>> import random
>>> random.randint(1.10)
>>> random.randint(1,10)
6
>>> random.randint(1,10)
5
>>> random.randint(1,10)
3
6.pycharm常用操作
(1)快捷键
alt+insert
(2)进入设置见面
ctrl+alt+s
(3)设置背景颜色
二.三大流程控制语句
1.顺序,分支,循环
分支流程:
满足条件做a,不满足条件做b
2.
#python中input接受的是字符串,如果接受整型数,需要通过int转成整型数
age = int(input('年龄:'))
#需求:如果年龄大于18,输出成年,否则输出未成年
if age > 18:
print('成年')
else:
print('未成年')
结果:
年龄:25
成年
Process finished with exit code 0
冒号和缩进是py的语法规范,必须遵守
#三元运算符:age>18?"成年" : "未成年"
age = int(input('Insert your age:'))
print('adult' if age > 18 else 'children')
把之前的代码简化一下
3.多分支
#需求:如果score大于90小于100,则为A。在80到90之间,则为B,小于80为C
score = int(input('成绩:'))
if 90<=score<=100:
print('u got A')
elif 80<=score<=90:
print('u got B')
else:
print('u sb')
结果:
成绩:66
u sb
Process finished with exit code 0
当有多个条件的时候,就用多分支,elif
elif满足第二个条件做什么操作
score = int(input('成绩:'))
if 90<=score<=100:
print('u got A')
elif 80<=score<=90:
print('u got B')
elif 0<=score<=80:
print('u got C')
else:
print('u sb')
结果:
成绩:75
u got C
Process finished with exit code 0
需求:输入用户名和密码,判断输入是否正确,如果输入的用户名为admin,密码为chihao则提示成功,否则提示失败
user = input('请输入用户:')
password = input('请输入密码:')
if user == 'admin' and password == 'chihao':
print('登陆成功')
else: print('用户名或密码错误')
结果:
请输入用户:admin
请输入密码:chihao
登陆成功
Process finished with exit code 0
三元运算符:双分支的简化版
3.循环流程控制
#需求:输出0-100
#count =0 while 0<=100,print(0) count+=1
#count =1 while 1<=100,print(1) count+=1
#count =99 while 99<=100,print(99) count+=1
#count =100 while 100<=100,print(100) count+=1
#count =101 while 101>100,end
count = 0
while count <= 100:
print(count)
count = count +1
count +=1 #可以把count=count+1优化为此
4.while死循环
#用户登录成功进入系统,登陆失败则继续登录,并且统计登录次数。
try_count = 0 #用户登录了几次
while True:
print(f'用户第{try_count+1}次登录系统')
try_count +=1
user = input('请输入用户:')
password = input('请输入密码:')
if user == 'admin' and password == 'chihao':
print(f'用户{user}登录成功 ')
exit() #退出程序
else: print(f'{user}登陆失败')
结果:
用户第1次登录系统
请输入用户:daasd
请输入密码:dsa
daasd 登陆失败
用户第2次登录系统
请输入用户:admin
请输入密码:asdsad
admin登陆失败
用户第3次登录系统
请输入用户:admin
请输入密码:chihao
用户admin登录成功
{}是什么意思?
{}是一个占位符,里面的内容是name对应的值
test:输出0-100所有的偶数
count = 0
while count <= 100:
print(count)
count +=2
5.for循环
在pycharm中,python console可以查看一些帮助
range指的是-1的数字,比如range(0,100),输出的会是0-99
#需求:输出0-100
for num in range (0,101): #range指的是从start开始到end-1结束
print(num)
在pyconsole里查看
list(range(0,10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list(range(0,11,2))
[0, 2, 4, 6, 8, 10]
用for循环输出0-100所有的偶数
for num in range (0,101,2):
print(num)
用for循环输出0-100所有的奇数
for num in range (1,101,2):
print(num)
for循环遍历字符串
string = 'chihao'
for item in string:
print('---',item)
结果
--- c
--- h
--- i
--- h
--- a
--- o
倒数10-1
for num in range (10,0,-1):
print(num)
总结:循环可以通过while和for循环
6.break语句和continue语句
break刹车,continue跳出本次循环
count = 0
while count <=10:
count+=1
print(count)
if count ==5:
continue
print('hello')
test:99乘法表
"""
i j
1 1
2 1,2
3 1,2,3
4 1,2,3,4
...
9 1,2,3...,9
"""
#如何让print不换行呢?
for i in range(1,10):
for j in range(1,i+1):
print(f'{j}*{i}={j*i}',end=' ')
print( )
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
以上其实是i×j的,正确应该是j×i
test:防黑客暴力破解的用户登录系统,登录三次不成就不能继续登录,正确的用户名为root,密码为chihao
try_conut = 1
while True:
print(f'用户第{try_conut}次登录系统')
try_conut += 1
name = input('用户名:')
password = input('密码:')
if name == 'root' and password == 'chihao':
print(f'用户{name}登陆成功')
exit()
elif try_conut > 3:
print('今日不能登录')
break
7.while循环和else结合的补充:
while条件表达式:
满足条件执行的内容
else:
不满足条件执行的内容
编程没有绝对的正确,只要能实现自己的目的就行了