Day07
作者:互联网
总结
作业讲解
while循环
1.while + else语句
while 条件:
代码语句1
else
代码语句2
'''
eg:count = 1
while count <3:
print('语句1')
count += 1
else:
print('语句2')
'''
2.while嵌套
'''
while 条件1:
条件1满足时,做的事情1
条件1满足时,做的事情2
条件1满足时,做的事情3
while 条件2:
条件2满足时,做的事情1
条件2满足时,做的事情2
条件2满足时,做的事情3
'''
while循环的应用:用代码将*打印成各种图案;
九九乘法表。
九九乘法表参考代码(碰到好多次这个题,从来没写出来过)
'''
i = 1
while i<=9:
j=1
while j<=i:
print("%d*%d=%-2d " % (j, i, i*j), end = '')
j+=1
print('\n')
i+=1
'''
'''
for i in range(1, 10):
for j in range(1, i+1):
print(' %s * %s = %s' % (i, j, i*j), end='')
print()
'''
死循环
死循环就是指无法靠自身的控制终止的循环,会影响计算机运行甚至可能损坏计算机的硬件
eg:
while True:
print()
在编程中要避免产生死循环
for循环
1.for循环语法
'''
for 变量 in 对象:
循环代码
'''
eg:
# 打印1~10
'''
for i in range(1, 11):
print(i)
'''
# 循环字典只能获取到字典的key,无法直接获取value
# 字典与集合采取无序排列,所以取出来顺序是打乱的,但在pycharn中,用for循环获取字典
# 中的元素是经过优化的
2.for循环嵌套
'''
for i in range(1, 10):
for j in range(1, i+1):
print(' %s * %s = %s' % (i, j, i*j), end='')
print()
'''
range
range在python2与python3中不同
range在python3中只有range(),不占用过多的内存空间
range在python2中会产生很多元素,会占用很多的内存空间
:
range在爬虫中的应用
一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。
# 使用url的分页数据网址,可以找到其规律爬取网页内容
# 例如B站鬼畜区的网址
# https://www.bilibili.com/v/kichiku/guide/?spm_id_from=333.5.b_6b696368696b755f6775696465.3#/all/default/0/1/
# https://www.bilibili.com/v/kichiku/guide/?spm_id_from=333.5.b_6b696368696b755f6775696465.3#/all/default/0/2/
# https://www.bilibili.com/v/kichiku/guide/?spm_id_from=333.5.b_6b696368696b755f6775696465.3#/all/default/0/3/
暂时没搞出来,有空补充
基本数据类型转换
1.可以通过句点符用编程软件的自动提示查看
2.int整型
(1)类型转换
num = int('1')
print(type(num)) # int
# 只能用于只含数字的字符串
(2)进制数转换
# 二进制(0b开头) bin()
# 八进制(0o开头) oct()
# 十六进制(0x开头) hex()
以二进制为例
'''
十进制转化为二进制
print(bin(100)) # 0b1100100
二进制转化为10进制
print('0b1100100', 2) # 100
其中2表示二进制
'''
3.float浮点型
(1)类型转换
num = float('11.1')
print(type(num)) # 11.1
字符串内置方法
1.类型转换
str能够转换所有基本数据类型
2.索引取值中的切片操作 # 切片顾头不顾尾
'''
eg = 'abcdefg'
print(eg[0:3]) # abc
'''
步长 # 默认是1,可以调整
'''
eg = 'abcdefg'
print(eg[0:4:2]) # ac
意思是从0开始,间隔以为取值
默认从左往右取值,可以通过-控制方向
eg = 'abcdefg'
print(eg[-4:0:-1]) # dcb
'''
3.统计字符串中字符的个数
'''
eg = 'abcdefg'
print(len(eg)) # 7
'''
4.成员运算
'''
eg = 'abcdefg'
print('ab' in eg) # True
'''
5.移除字符串首尾空格
'''
eg = ' abcdefg '
eg_strip = eg.strip()
print(eg_strip) # abcdefg
'''
6.切割字符串
'''
eg = 'ab|cd|ef'
print(eg.split('|')) # ['ab', 'cd', 'ef']
print(eg.split('|', maxsplit=1)) # 默认从左到右 ['ab', 'cd|ef']
print(eg.rsplit('|', maxsplit=1)) # 从右往左 ['ab|cd', 'ef']
'''
:
作业
编写一个用户登录程序
要求最多尝试失误三次 过期自动提示并可重置尝试次数
用户登录成功之后进入内部循环 用户输入什么就打印什么 并给用户提供一个结束程序的特殊指令
获取用户输入的用户名和密码可以处理首尾空格
用户的用户名和密码使用变量存储 通过程序获取用户名和密码比对
data = 'jason|123'
flag = True
# 3.大循环
count = 0
while count < 3 and flag:
count += 1
# 2.存储用户名和密码
data = input('请输入密码,格式为用户名|密码>>>:')
# 1.获取用户输入的用户名和密码、处理首尾空格
username = data.split('|')[0].strip()
password = data.split('|')[1].strip()
# 4.判断是否登录成功
if username == 'jason' and password == '123':
# 5.循环用户输入指令,将用户输入的指令打印出来
for i in range(100): # 用while好看很多,但是我打死想不出来怎么用for写,只能先打个100,好丑
cmd = input('登陆成功,请输入指令,按q退出>>>:')
print(cmd)
# 6.用户输入q,退出程序
if cmd == 'q':
flag = False
break
else:
print('登陆失败')
明天周三了
:
标签:eg,Day07,range,while,循环,abcdefg,print 来源: https://www.cnblogs.com/ymxda9/p/15981977.html