3.8python学习笔记

while语句延续

# while与else使用
	while … else 在循环条件为 false 时执行 else 语句块
    count = 0
    while count < 5:
       print(count)
       count += 1
    else:
       print(count)

无限循环和while嵌套

如果while的判断条件永远为True,那么循环体会不断的执行下去。
#无法自己结束的循环并且一致占用CPU工作
	while True:
        print('1')
        
#while嵌套
while循环里面还有while循环叫做while嵌套,适用于需要外层循环一次内层循环N次的情况下
'''
while 判断条件1:

  条件1满足时循环做的事情1

  条件1满足时循环做的事情2

  条件1满足时循环做的事情3

  。。。

  while 判断条件2:

    条件2满足时循环做的事情1

    条件2满足时循环做的事情2

    条件2满足时循环做的事情3

    。。。
'''
    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
                print('正在执行您的指令:%s' % cmd)
        else:
            print("用户名或密码错误")
#根据缩进实现循环的嵌套

for循环

#for循环可以做到的事情while循环都可以做到!!! 但是for循环语法更加简单 使用频率更高
Python中,for循环用于遍历一个迭代对象的所有元素。循环内的语句段会针对迭代对象的每一个元素项目都执行一次。暂且可以将迭代对象想象成一个对象集合,我们可以一个个遍历里面的元素。我们将在下一节对迭代器和迭代对象作详细说明。
"""
语法结构
	for 变量名 in for循环对象:  # 字符串、列表、字典、元组、集合
		for循环的循环体代码
	每次执行都会将循环对象中的一个元素赋值给变量名
"""
#针对for循环语法结构中的变量名 也应该做到见名知意
#如果真的没有合适的名字可以使用常用的变量名i、j、k、v、num、item...
list1 = [1,2,3,4,5]
现在需要依次输出list1内的数据
#while语句
count = 0
while count < 5:
    print(list1[count])
    count += 1
#for语句
for i in list1:
	print(i)
#循环字符串,依次取出每一个字符
for i in 'hello world':
    print(i)
#循环字典(特殊):循环字典只能获取到字典的key value无法直接获取
 userinfo_dict = {'username': "jason", 'age': 18, 'gender': 'male'}
 for i in userinfo_dict:
     print(i)
# 循环集合:字典与集合内部的元素都是无序的 
for i in {11, 22, 33, 44, 55, 66}:
    print(i)
# for+break
	break结束本层for循环
# for+continue
	continue结束本次for循环 直接开始下一次
# for+else
	for循环正常结束之后运行else子代码
"""与while一致"""

range方法

python2.x range() 函数可创建一个整数列表,一般用在 for 循环中。
Python3 range() 返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表
range(start, stop[, step])
#start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
#stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
#step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
现在需要打印1到100的数字
for i in range(1,101):
    print(i)
打印1到100之间的偶数
for i in range(1,101,2)
	print(i)

数字类型的内置方法

int整型
	1.类型转换
    2.进制数的转换
#类型转换
人机交互时,我们输入的是文本,在程序进行数据处理时需要的数字,就需要用到类型转换。
age = int(input('请输入年龄'))
#进制转换
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))
#float浮点型
	1.类型转换
    res = float('11.11')
    print(res, type(res))  # 11.11
    res = float('11')
    print(res, type(res))  # 11.0
    float('abc')

字符串内置方法

1.类型转换
 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[0])
2.切片操作
 print(s1[2:4])  # 顾头不顾尾
3.步长
 print(s1[2:9:1])  # 第三个参数是步长 默认是1 依次获取
 print(s1[2:9:2])  # 间隔一个取一个
 索引取切片扩展
 print(s1[-1])  # 获取最好一个字符
 print(s1[-1:-5:-1])  # dlro  第三个参数还可以控制索引的方向
 print(s1[-5:-1])  # worl
4.统计字符串中字符的个数
 print(len(s1))  # 11
5.成员运算
 print('ll' in s1)
6.移除字符串首位指定的字符(使用频率较高)
 name = '  jason  '
 print(len(name))
 res = name.strip()  # 默认移除字符串首尾的空格
 print(res, len(res))
 name1 = '$$$$jas$on$$$$'
 print(name1.strip('$'))
 username = input('username>>>>:').strip()
 if username == 'jason':
     print('我想去干饭了!!!')
7.按照指定的字符切割字符串
data = 'jason|123|DBJ'
 print(data.split('|'))  # ['jason', '123', 'DBJ']
 name, pwd, hobby = data.split('|')  # 解压赋值
print(data.split('|', maxsplit=1))  # ['jason', '123|DBJ']
print(data.rsplit('|', maxsplit=1))  # ['jason|123', 'DBJ']
"""split方法切割完字符串之后是一个列表"""
posted @ 2022-03-08 20:27  槐序八  阅读(99)  评论(0)    收藏  举报