#1,注释
#单行注释
"""
多行注释(英文输入法双引号)
"""
'''
多行注释(英文输入法单引号)
'''
print("hello world")
输出效果:hello world
"""
2,变量
变量命名规则:
1,只能由字母或数字或下划线组成
2,不能由数字开头(或纯数字)
3,不要用中文
4,不要用python关键字
5,不要太长
6,最好要有实际意义eg.name="鱼鱼"
7,推荐使用下划线或驼峰命名
"""
a=24
a_=24
a1=24
_=24
print(a,a_,a1,_)
24 24 24 24
'''
3,常量
常量命名规则:
1,最好用大写字母eg.PI=3.1415926
'''
PI=3.1415926
print(PI)
#不存在绝对意义上的常量
PI=3 #能够改变PI的值
print(PI)
3.1415926 3
"""
4,数据类型
1,数字:+-*/ (eg.int,float)
2,文字:字符串
表示方式:''或""或''''''或""""""
操作:+:+两端数据类型一定要相同
*:一个字符串只能乘以数字,表示重复次数
3,布尔(bool):条件判断
布尔值主要有两个:True False(判断真假)
"""
a=2
b=2.5 #数字:整数,小数
print(a+b,a*b,a/b,a%b)
#字符串
s="鱼鱼"
print(s) #print后自动换行
print('鱼鱼','''可爱''') #两个输出之间自动空一格
a="""啦啦啦啦啦"""
print(a)
print(s+a,s*3)
#布尔
print(1>2)
print(1<2)
#可以直接赋布尔值
c=True
print(c)
4.5 5.0 0.8 2.0 鱼鱼 鱼鱼 可爱 啦啦啦啦啦 鱼鱼啦啦啦啦啦 鱼鱼鱼鱼鱼鱼 False True True
#输入函数input("提示语")
a=input("请输入第一个数:")
b=input("请输入第二个数:")
print(a+b)
#注意!!!!input得到的结果一定是字符串
print(type(a),type(b))
#将字符串转化为其他数据类型
print(int(a)+int(b))
请输入第一个数:1 请输入第二个数:2 12 <class 'str'> <class 'str'> 3
a=input("请输入第一个字符串")
b=input("请输入第二个字符串") #直接输入字符串
print(a+b) #字符串相加
请输入第一个字符串鱼鱼 请输入第二个字符串可爱呀 鱼鱼可爱呀
'''
条件判断
1,if的第一种语法
if 条件:
代码1
代码2
...
注意!!!python中if语句多条代码不用{},只要对齐即可,可以使用tab键缩进
2,if的第二种语法
if 条件:
代码1
else:
代码2
3,if语句可以嵌套
if 条件:
if 条件:
代码1
else:
代码2
else:
代码3
4,
if 条件1:
代码1
elif 条件2:(不满足条件1时)
...
...
else:
...
'''
a=int(input("请输入你的预算:"))
if a>50:
if a>100:
print("吃全家桶")
else:
print("随便吃个套餐")
else:
print("回家自己做吧")
if a>100:
print("吃全家桶")
elif a>50:
print("随便吃个套餐")
else:
print("回家自己做吧")
请输入你的预算:60 随便吃个套餐 随便吃个套餐
"""
循环
while 条件:
代码
for 变量 可迭代对象(字符串):
代码
把可迭代对象中的每一项内容拿出来,挨个的赋值给变量,每一次赋值都要执行一次循环体(代码)
"""
i=0
s=0
#从1加到10
while i<10:
i+=1 #注意没有i++的写法
s+=i
print(s)
i=0
s=0
#1-2+3-4+5-...-100
while i<100:
i+=1
if i%2==0:
s-=i
else:
s+=i
print(s)
#break让当前循环立即停止
while True:
content=input("请输入你想说的话:")
if content=="bye":
break
#continue
if content=="onemore":
continue
print(content)
i=0
for i in range(0,5): #for循环数数必须通过range(a,b,c),a是起点,b是终点(不包含),c是步长
print("鱼鱼")
i+=1
#range(1,10,2)=1,1+1*2,1+2*2,1+3*2,1+4*2=1,3,5,7,9
#range(1,5)=1,2,3,4(步长默认为1,终点不包括)
s="yuyuissocute"
for i in s:
print(i)
55 -50 请输入你想说的话:bye 鱼鱼 鱼鱼 鱼鱼 鱼鱼 鱼鱼 y u y u i s s o c u t e
#pass:代码占位,代码完整性,防报错
a=10
for i in range(0,a):
pass #没想好写啥,把pass放这防报错
'''
基本数据类型:
int整型 在某一个特定区间内可以清楚表述,有限
float浮点型 在任一个特定区间内都不能清楚表述,无限(计算机表述也会有误差)
bool布尔型(True或False)
基础数据类型之间的转化:
bool(),int(),float()
'''
print(10/3) #以5结尾
a=0 #在Python中所有的非零数字都是True,零是False
b=bool(a)
print(type(b))
print(b)
# while 1: #死循环,恒为真
s=" " #在python中,所有费控字符串都是True,空字符串是False
print(bool(s))
s=""
print(bool(s))
#综上,在Python中,空的东西bool值都是False,不空的东西bool值都是True
print(bool([])) #[]为空列表
while 1:
content=input("请输入你想说的话:")
if content:
print(content)
else:
break
3.3333333333333335 <class 'bool'> False True False False 请输入你想说的话:yuyu yuyu 请输入你想说的话:
#Python中空格,\n,\t都为空
#字符串 (%s字符串占位,%d数字占位)
#1,字符串的格式化
name=input("请输入你的名字:")
age=input("请输入你的年龄:")
s0="他是%s"%name
s1="他是%s,今年%s岁"%(name,age)
s2="他是{},今年{}岁".format(name,age)
s3=f"他是{name},今年{age}岁" #f-string 推荐使用
print(s0)
print(s1)
print(s2)
print(s3)
#2,索引和切片
#索引:按照位置提取元素
s="yuyu"
print(s[3]) #从左往右0,1,2...
print(s[-1]) #从右往左...-2,-1
#切片:从字符串中提取一部分内容
print(s[1:3]) #[a:b] a为起点,b为终点(不包括)
print(s[:3]) #默认表示0开始
print(s[1:]) #默认表示3结束
print(s[:])
print(s[-4:-1]) #[-a:-b] -a为起点,-b为终点(不包括)
#可以给切片添加步长来控制切片的方向
print(s[::-1]) #反向
请输入你的名字:yuyu 请输入你的年龄:24 他是yuyu 他是yuyu,今年24岁 他是yuyu,今年24岁 他是yuyu,今年24岁 u u uy yuy uyu yuyu yuy uyuy
#3,字符串的常规操作
#字符串的操作一般不会对原字符串产生影响,一般是返回一个新字符串
#3.1字符串大小写转换
s="python"
print(s.capitalize()) #首字母大写
print(s)
s="i have a dream"
print(s.title()) #每个单词的首字母都大写
s="YUYU"
print(s.lower()) #每个字母都小写
s="yuyu"
print(s.upper()) #每个字母都大写
#应用upper() 忽略大小写验证
code="YuYu"
user_input=input("请输入验证码:")
if code.upper()==user_input.upper():
print("验证码正确")
else:
print("验证码错误")
Python python I Have A Dream yuyu YUYU 请输入验证码:yuyu 验证码正确
#替换和切割
s=" y u y u"
print(s.strip()) #忽略左右两端的空白(\t,\n,空格),保留中间的空白
#e.g
username=input("请输入用户名:")
userword=input("请输入密码:")
if username.strip()=="admin": #防止用户在末尾误输入看不见的空格
if userword=="123456":
print("登陆成功")
else:
print("密码错误")
else:
print("该用户不存在")
s="yuyu"
print(s.replace("y","Y")) #替换
s=" y u y u"
print(s.replace(" ","")) #去除所有空格
s="yuyusocute"
print(s.split("u")) #切割(写出用什么来切),用什么切,就会损失什么
print(type(s.split("u"))) #切割出的结果会放在列表中
y u y u 请输入用户名:y 请输入密码: 该用户不存在 YuYu yuyu ['y', 'y', 'soc', 'te'] <class 'list'>
#查找和判断
s="yuyusocutecute"
print(s.find("cute")) #返回出现的首位置,不存在返回-1
print(s.index("so")) #返回出现的首位置,不存在则报错
print("so" in s) #True则存在,False则不存在(in可以做条件上的判断)
print("so" not in s) #与上述相反
#eg
name=input("请输入你的名字:")
if name.startswith("张"):
print("你姓张")
else:
print("你不姓张")
money=input("请输入你的余额:")
if money.isdigit(): #isdigit()判断字符串是否由整数组成,isdecimal()判断字符串是否由小数组成
money=int(money)
if money==0:
print("余额不足")
else:
print("余额:",money)
else:
print("输入错误")
6 4 True False 请输入你的名字:张大 你姓张 请输入你的余额:lala 输入错误
#len()长度
s="yuyu"
print(len(s))
#join()拼接 与split()相反
s=["yuyu","so","cute"]
s1="_".join(s)
s2="".join(s)
print(s1,s2)
4 yuyu_so_cute yuyusocute
#列表 [] 能够储存大量的东西,用逗号隔开
a=["yuyu",[1,2,'b'],'socute',{0}]
#特性:
#1,像字符串一样也有索引和切片
print(a[0])
print(a[0:3:2])
#2,索引超过边界会报错
#print(a[10]) 报错:list index out of range
#3,可以用for循环进行遍历
for item in a:
print(item)
#4,可以用len()求列表长度
print(len(a))
yuyu ['yuyu', 'socute'] yuyu [1, 2, 'b'] socute {0} 4
#列表的增删改查 改变了原列表
lst=[]
#1,向列表中增加内容
#append()追加
lst.append("yuyu")
lst.append("so")
lst.append("cute") #append()只能一次增加一个且加在列表末尾
print(lst)
#insert() 插入
lst.insert(0,"lala") #insert(欲插入位置,元素) 原有元素及其后元素自动后移
print(lst)
#extend()合并两个列表,批量添加
lst.extend([1,2,3,'a'])
print(lst)
#2,删除
#pop()
a=lst.pop(2) #pop(欲删除元素位置) 其后元素自动前移
print(lst)
print(a) #返回被删除元素
#remove()
lst.remove("yuyu") #remove(欲删除的元素)
print(lst)
#3,修改
#直接用索引进行修改操作
lst[0]="yuyu"
print(lst)
#4,查询
#直接用索引进行查询操作
print(lst[1])
#eg 将所有姓“张”的改成姓“王”
list1=["张三","李四","王五","张大","张二"]
list2=[]
for i in list1:
if i.startswith("张"):
i=list(i)
i[0]='王'
i="".join(i)
print(i)
list2.append(i)
print(list2)
['yuyu', 'so', 'cute'] ['lala', 'yuyu', 'so', 'cute'] ['lala', 'yuyu', 'so', 'cute', 1, 2, 3, 'a'] ['lala', 'yuyu', 'cute', 1, 2, 3, 'a'] so ['lala', 'cute', 1, 2, 3, 'a'] ['yuyu', 'cute', 1, 2, 3, 'a'] cute 王三 王大 王二 ['王三', '李四', '王五', '王大', '王二']
#eg 将所有姓“张”的改成姓“王”
list1=["张三","李四","王五","张大","张二"]
for i in range(len(list1)): #range(0,len(list))的取值范围是0~len(list)-1
item=list1[i]
if item.startswith("张"):
#换姓
new_name="王"+item[1:]
print(new_name)
#新名字放回列表(需要索引)
list1[i]=new_name
print(list1)
王三 王大 王二 ['王三', '李四', '王五', '王大', '王二']