其他分享
首页 > 其他分享> > Day07

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