流程控制与基本数据类型内置方法
目录
while循环
while与else连用
当while没有被break关键字打断,正常结束循环体代码之后将会被执行,while与else平级
'''
while 条件:
条件成立后执行的循环体代码
else:
循环体代码正常执行结束后执行的代码
'''
eg:
count = 1
while count < 5:
print('hellow world!')
count += 1
else:
print('while循环正常执行结束')
>>>:hellow world!
>>>:hellow world!
>>>:hellow world!
>>>:hellow world!
>>>:while循环正常执行结束
count = 1
while count < 5:
print('hellow world!')
count += 1
if count == 5:
break
else:
print('while循环正常执行结束')
>>>:hellow world!
>>>:hellow world!
>>>:hellow world!
>>>:hellow world!
死循环与while嵌套
死循环就是永远无法结束的循环,并且一直占用cpu工作,死循环影响电脑的性能,有时甚至会损坏电脑硬件
#死循环
count = 100
while True:
count *= 10
#while嵌套
'''
while 条件1:
条件1成立时执行的子代码
while 条件2:
条件1和2成立时执行的子代码
'''
用户登录系统:
flag = True
name = 'jason'
pwd = '123'
while flag:
user_name = input('请输入用户名:')
user_pwd = input('请输入密码:')
if user_pwd == pwd and user_name == name:
print('用户登录成功')
while flag:
reception = input('>>>:')
if reception == 'exit':
flag = False
print(reception)
else:
print('用户名或密码错误')
for循环
for循环可以做到的,while循环都可以做到,但是for循环语法更加的简单,所以使用频率更高,而涉及到循环取值时,一般考虑使用for循环而不是while循环
'''
for 变量名 in 循环对象: #循环对象可以是字符串、字典、集合、元组
循环体代码
每一次循环都会将循环中的一个对象赋值给变量名,变量名也尽量要做到见名知意。
'''
# 使用for循环遍历 name_list = ['jason', 1, ['name', 'age']]
for i in name_list:
print(i)
>>>jason
>>>1
>>>['name', 'age']
#依次取出字符串 的每一个字符
for i in 'hello '
print(i)
>>>h
>>>e
>>>l
>>>l
>>>o
>>>
循环字典
'''
只能获得字典中key的值,无法获得value的值
'''
dict_1 = {'name' : 'jason', 'age' : 18, 'height' : 180}
for i in dict_1:
print(i)
>>>name
>>>age
>>>height
循环元组
for i in (1,2,3,4,5):
print(i)
>>>1
>>>2
>>>3
>>>4
>>>5
循环集合
for i in {11, 22,3,44}:
print(i)
>>>3
>>>11
>>>44
>>>22
# 集合和字典的内部都是无序的
range关键字
range在python2和python3中是有区别的,在python2中将会直接产生一个列表,在元素很多的情况下比较占用空间,在python2中有一个 xrange方法,跟python3中的range方法一样,而python3中不再有xrange方法
#range的使用方法
for i in range(10):
print(i) #括号内只写一个数字,默认从零开始,输出的值是0~9,顾头不顾尾
for i in range(5,10)
print(i) #括号内有两个数字,自定义起始位,输出结果 5~9
for i in range(3,10,2)
print(i) #括号内有三个数字,自定义起始位置和步长,输出结果 3,5,7,9
'''
步长可以为负数,将由小到大的遍历顺序改为,由大到小
'''
数据类型的内置方法
数据类型的内置方法,是为了是我们更加便捷的操作数据,在pycharm中,可以通过,数据类型+.的方式来查看该类型的内置方法
int
# 1.类型转换
'''
将纯整数的字符串,转换成整型数字
'''
print(int('123'))
>>>123
# 2.进制转换
'''
可以将其它进制的数转换为十进制
'''
print(int('0b1100100', 2)) #二进制
print(int('0o144', 8)) #8进制
print(int('0x64', 16)) #16进制
#十进制,转换为其他进制
print(bin(100))
print(oct(100))
print(hex(100))
>>>0b1100100
>>>0o144
>>>0x64
float
#类型转换
'''
可以将纯数字组成的字符串转换成float型,无论整数小数都可以
'''
print(float('11'), float('12.55'))
>>>11.0 12.55
字符串内置方法
1.类型转换
'''
可以将所有类型的数据都转换成字符串
'''
print(type(str([1,2,3,4])), type(str({'name':'jason', 'age':18})))
>>><class 'str'> <class 'str'>
#以s1 = 'hello world'为例
2.索引取值
print(s1[0],s1[2])
>>>h l
3.切片操作
'''
切片操作,有三个值,分别是,起始位,终止位,步长
'''
print(s1[0:5])##跟range类似,顾头不顾尾
>>>hello
#步长
print(s1[2:9:2])
>>lowr #间隔一位取一个值,默认步长为1
'''
切片的默认顺序为从左到右取值,而当步长为负数时,取值顺序将变为从右像左
'''
print(s1[-2:-7:-1])
>>>lrow
'''
当步长不为负数,即不改变从左到右的取值顺序时
从右向左无法取值
'''
print(s1[-1:-5]) #输出值为空
成员运算
'''
成员运算,判断个体是否在群体之中
'''
print('ll' in s1)
>>>True
统计字符串中字符的个数
print(len(s1))
>>>11
移除字符串首尾指定的字符串
'''
变量名.strip()默认可以移除变量首尾的所有空格,也可移除指定符号
'''
name = ' mm '
print(name)
print(name.strip())
>>> mm
>>>mm
#通过strip方法移除末尾的*
name = '******mm****'
print(name.strip('*'))
>>>mm
切割字符串
'''
在python中,可以使用split方法,根据指定字符切割字符串,字符串切割后,是一个列表
'''
data = 'tom!123!hello'
print(data.split('!'))
>>>['tom', '123', 'hello']
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人