python循环与基本数据类型内置方法


今天又是充满希望的一天呢

一.python循环

1.wuile与else连用

 当while没有被关键'break'主动结束的情况下 正常结束循环体代码之后会执行else的子代码
"""
while 条件:循环体代码
else 条件:循环体代码正常运行结束 则会执行该行子代码块
"""

count = 1  # 计数
    while count < 10:  # 循环9次
        if count == 4:  # 到3结束因为4-1
            break  #结束本层代码
        print(count)  #
        count += 1
    else:
        print('gg')  # 以上条件不成立该条子代码执行
"""
结果: 1 2 3 
"""

2.死循环

 注:死循环有些时候会极度影响电脑的性能 甚至会造成文件损坏
但是往往通常使用的电脑会有这种保护机制 自动关机等

count = 10
while True:
    count += 1
    print(count)
"""
结果是 10+1+1+1+1 无线循环
"""

3while的镶嵌

flag = True  # 伏尔值
while flag:  # 循环
    username = input('username>>>:')  # 用户输入
    password = input('password>>>:')  # 用户输入
    if username == 'jason' and password == '123':  # 判断成立的话执行该行子代码
        print('登录成功')
        while flag:  # 嵌套 循环 伏尔值为成立
            cmd = input('请输入您的指令>>>:')  # 输入用户名
            if cmd == 'q':  # 判断成立执行该行子代码
                print('下次光临')  # 子代码
                flag = False  # 循环 伏尔值true 转换为 false 可以变为不可以
            print('正在执行您的指令:%s' % cmd)  # 循环 判定不可以再次循环 用户名输入
    else:  # 以上条件都不成立执行该行子代码
        print("用户名或密码错误")  # 子代码

二.for循环

注:for循环更为简单 使用频率更高一般涉及到循环取值的时候都会考虑用for
"""
for的语法结构:for 变量名 in for 循环对象:#字串符, 列表, 字典, 元组, 集合。
for 循环每次执行都会给循环内的元素都赋一个变量名
变量名都应该做到:见明知意.
常见的变量名有 i, j, k, v, num, item 等等
"""

1.fuo和whlie循环

# 列表
name_list = ['jason', 'kevin', 'tony', 'tank', 'oscar']
count = 0  # 计数
while count < 5:  # 循环5次
    print(name_list[count])  # 提取出变量值
    count += 1  # 循环增量赋值
  for循环
# 列表
name_list = ['jason', 'kevin', 'tony', 'tank', 'oscar']
count = 0  # 计数
for name in name_list:  #  分别给列表中数据赋值变量名
    print(name)  # 执行
"""
'jason', 'kevin', 'tony', 'tank', 'oscar'
两个循环的结果都是相同的

"""

2.循环字符串

依次取出每一个字符
for i in 'hello world':  # 给后边字符串赋值变量名i 
    print(i)  # 执行 i
"""
结果:h o l l o w o r l d
"""

3.循环字符

循环字典只能获取到key value无法直接获取
userinfo_dict = {'username': "jason", 'age': 18, 'gender': 'male'}
for i in userinfo_dict:  #给后边字典赋值变量名i
    print(i)  # 执行
"""
结果:username  age  gender
"""

4.循环元祖

for i in (11, 22, 33, 44, 55):  #给后边字符串赋值变量名i 
     print(i) # 执行
"""
结果:11 22 33 44 55
"""

5.循环元组

for i in (11, 22, 33, 44, 55):  # 给元组中的数据赋值变量名
     print(i) # 执行

6.循环集合

注:字典内部和集合内部元素都是无序的 因为在pucharm字典用的最多所以有优化
for i in {11, 22, 33, 44, 55, 66}:  # 括号内元素赋值变量名
    print(i)  # 执行
"""
结果:33  66 55 11 22 44
"""

三.range关键字

range方法在python2解释器和python解释器是有区分的:
在python2中range是直接产生一个列表 元素很多的情况下比较占用空间
    	在python2中有一个xrange 其实就是python3里面的range
  在python3中range相当于哆啦A梦的口袋 不占空间但是可以取出很多数据
    	在python3中就只有一个range了
在whlie循环中
while count < 101:
     print(count)
     count += 1
在for循环中:
for i in range(101):  # 从0开始到100结束的数据集 顾头不顾尾
     print(i) #执行
"""
结果都是0 - 100
for循环从0开始到100结束的数据集 顾头不顾尾
range其实是个迭代器用于产生数据 节省空间
"""
# 用法1  括号内只写一个数字  默认从0开始  顾头不顾尾
for i in range(10):
    print(i)
# 用法2  括号内写两个数字  自定义起始位置 顾头不顾尾
for i in range(1, 10):
    print(i)
# 用法3  括号内写三个数字  第三个数字表示的是等差数列的差值  默认情况下是1
for i in range(1, 10, 2):
    print(i)
"""
结果分别为:0-9
1-9 和1 3 5 7 9

"""

四.for循环补充

#for+break
break结束本层for循环
#for+continue
continue结束本层for循环后直接开始下次以for循环
for+else
for循环正常结束之后运行else子代码
注:与while一致

五.如何查看数据类型内置方法

可以借助于编程软件的自动提示 采用句点符快速查看

六.数据类型的内置方法

1.int整型

1.1整型类型转换
age = int(input('123'))
将int整型执行后结果赋值变量给age
"""
int整型方式只能转换纯数字的子串符
"""
#也可以将十进制转换为其他进制
 print(bin(100))  # 0b1100100    二进制(0b开头)
 print(oct(100))  # 0o144        八进制(0o开头)
 print(hex(100))  # 0x64         十六机制(0x开头)
#也可以将其他机制转换为十进制
print(int('0b1100100', 2))
print(int('0o144', 8))
print(int('0x64', 16))

2.float浮点型

1.浮点型转换
res = float('11.11')
print(res, type(res))
"""
float浮点型方式只能转换字符串内小数或者多为小数
"""

3.str字符串

str字符串可以转所有基本类型的转换
print(str(11), type(str(11)))
print(str(11.11), type(str(11.11)))
print(str([1, 2, 3, 4]), type(str([1, 2, 3, 4])))
print(str({'name': 'jason'}), type(str({'name': 'jason'})))
print(str((1, 2, 3, 4)), type(str((1, 2, 3, 4))))
print(str({1, 2, 3, 4}), type(str({1, 2, 3, 4})))
print(str(True), type(str(True)))

七.字符串内用常操作

s1 = 'hello world'
1.索引取值
print(s1[2])#提取(l)
2.切片操作
print(s1[6])#提取(wo)顾头不顾尾
3.步长
print(s1[2:9:1])#提取(llo wor)第三个参数是步长 默认是1 如果print(s1[2:9:2])#提取(lowr)那么就是隔一个取一个
4.所引取切片扩展
print(s1[-1])#提取(d)获取最后一个字符
print(s1[-1:-5:-1])#提取(dlro)倒着数也是顾头不顾尾 
5.5.成员运算
print('ll' in s1)#(对)in成员运算里的查找
6.移除字符串首位指定的字符(使用频率较高)
name = '  jason  '
print(len(name))
res = name.strip()  
print(res, len(res))#提取(jason)默认移除字符串首尾的空格
username = input('username>>>>:').strip() #输入用户名
if username == ' jason ': #判断成立后执行子代码
     print('我太困了!!!')
posted @ 2022-03-08 22:15  笑舞狂歌  阅读(89)  评论(0编辑  收藏  举报