流程控制与基本数据类型内置方法

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.类型转换
'''
将纯整数的字符串,转换成整型数字
'''
printint('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']
posted @   名字只需六字  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示