温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python全栈的单项循环怎么实现

发布时间:2021-12-01 09:02:29 来源:亿速云 阅读:117 作者:iii 栏目:开发技术

本篇内容介绍了“Python全栈的单项循环怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    1. 多项_巢状分支

    多项分支 (多选一)

    """
    if 条件表达式1:
    	code1 
    elif 条件表达式2:
    	code2
    elif 条件表达式3:
    	code3
    else:
    	`code4
    如果条件表达式1成立,执行对应的分支code1,反之判断条件表达式2是否成立
    如果条件表达式2成立,执行对应的分支code2,反之判断条件表达式3是否成立
    如果条件表达式3成立,执行对应的分支code3,如果不成立,直接走else分支,到此程序执行完毕
    elif 可以是0个 或者 多个
    else 可以是0个 或者 一个
    """
    youqian = False
    youfang = False
    youche = False
    if youqian == True:
    	print("说明这个人很有实力")
    elif youfang == True:
    	print("能交给朋友么")
    elif youche == True:
    	print("开了雅迪艾玛调动车,我们碰一碰吧")	
    else:
    	print("你还是去做美团骑手吧")
    print("<=======================>")
    # ### 巢状分支
    """单项分支,双向分支,多项分支的互相嵌套组合"""
    youqian = True
    youfang = True
    youche = True
    youyanzhi = True
    youtili = False
    if youqian == True:
    	if youfang == True:
    		if youche == True:
    			if youyanzhi == True:
    				if youtili == True:
    					print("我要嫁给你~")
    				else:
    					print("你去吃点大腰子再来~")
    			else:	
    				print("你去一下泰国+韩国,整整容")
    else:
    	print("你是个好人呐~")
    	
    print("<=======================>")
    #出题 height
    #女生找对象
    	# 男生在1米~1.5米之间 小强 你在哪里?
    	# 男生在1.5~1.7米之间 没有安全感~
    	# 男生 1.7~ 1.8米之间 帅哥 留个电话
    	# 男生 1.8~2米之间 帅哥 你建议多一个女朋友吗
    # python特有(注意:因为input接受的数都是字符串,又因为我们会输入小数,所以这里只能用float)
    """
    height = float(input("请输入您的身高:"))
    if 1 <= height < 1.5:
    	print("小强 你在哪里?")
    elif 1.5 <= height < 1.7:
    	print("没有安全感~")
    elif 1.7 <= height < 1.8:
    	print("帅哥 留个电话")
    elif 1.8 <= height < 2:
    	print("你建议多一个女朋友吗")
    else:
    	print("抱歉,没有合适的选项")
    """
    # 通用写法
    height = float(input("请输入您的身高:"))
    if 1 <= height and height < 1.5:
    	print("小强 你在哪里?")
    elif 1.5 <= height and height < 1.7:
    	print("没有安全感~")
    elif 1.7 <= height and height < 1.8:
    	print("帅哥 留个电话")
    elif 1.8 <= height and height < 2:
    	print("你建议多一个女朋友吗")
    else:
    	print("抱歉,没有合适的选项")
    """
    tab 向右缩进
    shift + tab 向左缩进
    """

    2. 循环结构

    2.1 循环结构

    """特点:减少冗余代码,提升执行效率"""
    """
    语法:
    while 条件表达式:
    	code1
    (1) 初始化一个变量
    (2) 写上循环的条件
    (3) 自增自减的值
    """
    # ### 打印1 ~ 100
    # (1) 初始化一个变量
    i = 1
    # (2) 写上循环的条件
    while i <= 100:
    	# (4) 写上循环的逻辑
    	print(i)
    	# (3) 自增自减的值
    	i += 1 # i = i + 1
    """
    代码解析:
    第一次循环
    i = 1  i<=100 判断为真,执行循环体 print(1)
    i += 1 i => 2 
    第二次循环
    代码回到17行,重新进行条件判定 
    i = 2  i<=100 判断为真,执行循环体 print(2)
    i += 1 i => 3
    第三次循环
    代码回到17行,重新进行条件判定 
    i = 3  i<=100 判断为真,执行循环体 print(3)
    i += 1 i => 4
    ....
    以此类推 
    直到i = 101  i <= 100 判断为假,不执行循环体,到此循环结束...
    1 ~ 100
    """
    # ### 1 ~ 100的累加和
    # (1) 初始化一个变量
    i = 1
    total = 0
    # (2) 写上循环的条件
    while i <= 100 :
    	# (4) 写上自定义的逻辑
    	total += i
    	# (3) 自增自减的值
    	i += 1
    print(total)
    """
    代码解析:
    第一次循环
    i = 1 i <= 100 判定为真True 执行循环体 total += i => total = total + i => 0 + 1
    i += 1  => i = 2
    第二次循环
    i = 2 i <= 100 判定为真True 执行循环体 total += i => total = total + i => 0 + 1 + 2
    i += 1  => i = 3
    第三次循环
    i = 3 i <= 100 判定为真True 执行循环体 total += i => total = total + i => 0 + 1 + 2 + 3 
    i += 1  => i = 4
    ...
    依次类推
    当i = 101 101 <= 100 判定为假False 不执行循环体,到此,循环结束..
    total += i => total + i => 0 + 1 + 2 + 3 + 4 + .... + 100 => 5050
    """
    
    # 死循环
    """
    while True:
    	print(1)
    """
    
    # ### 用死循环的方法实现 1 ~ 100累加和
    i = 1
    total = 0
    sign = True
    while sign:
    	total += i
    	i+=1
    	# 判断i是否加到了101 , 不参与循环
    	if i == 101:
    		# 终止循环
    		sign = False
    print(total) #1 ~ 100 = 5050

    2.2 单项循环的练习

    # (1)打印 一行十个小星星* help(print)
    # help 查看某个方法的文档
    help(print)
    """
    # print("*",end='')
    # print("*",end='')
    # print("*",end='')
    # print("*",end='')
    # print("*",end='')
    # print("*",end='')
    # print("*",end='')
    # print("*",end='')
    # print("*",end='')
    # print("*",end='')
    """
    i = 0
    while i<10:	
    	# end='' 打印时,尾部默认不加换行
    	print("*",end='')	
    	i += 1
    # 默认换行
    # print()
    # (2)通过打印一个变量的形式,展现一行十个小星星
    print("<======>")
    i = 0
    strvar = ""
    while i < 10:
    	# 写上循环的逻辑
    	strvar += "*" # strvar = strvar + "*"
    	i +=1
    print(strvar)
    """
    strvar += "*" => strvar = "*"
    strvar += "*" => strvar = "*" + "*"  = "**"
    strvar += "*" => strvar = "**" + "*" = "***"
    ...
    strvar += "*" => strvar = "********" + "*" = "*********"
    """
    # (3)一行十个换色的星星 ★☆★☆★☆★☆★☆
    """
    # 方法一
    i = 0
    while i < 5:
    	print("★☆",end="")
    	i+=1
    """
    # 方法二
    i = 0
    while i < 10:
    	if i % 2 == 0 :
    		print("★",end="")
    	else:
    		print("☆",end="")
    	i+=1
    print("<=============>")
    # 方法三
    i = 0
    strvar = ""
    while i < 10:
    	if i % 2 == 0 :
    		strvar += "★"
    	else:
    		strvar += "☆"
    	i+=1
    print(strvar)
    """
    ***公式: 任意数 和 n 进行取余,余数的范围: 0 ~ (n-1)***
    0 % 2 = 0
    1 % 2 = 1
    2 % 2 = 0
    3 % 2 = 1
    被除数 % 2 => 0 或者 1
    0 % 5 = 0 
    1 % 5 = 1
    2 % 5 = 2
    3 % 5 = 3
    4 % 5 = 4
    5 % 5 = 0 
    6 % 5 = 1
    7 % 5 = 2
    被除数 % 5 => 0 或者 1,2,3,4
    """
    # (4)用一个循环,打印十行十列小星星
    """
    ★★★★★★★★★★
    ★★★★★★★★★★
    ★★★★★★★★★★
    ★★★★★★★★★★
    ★★★★★★★★★★
    ★★★★★★★★★★
    ★★★★★★★★★★
    ★★★★★★★★★★
    ★★★★★★★★★★
    ★★★★★★★★★★
    """
    # 方法一
    i = 0 
    while i < 100:
    	# 逻辑写在这里
    	print("*" , end="")
    	# 打印换行 (在9 19 29 .. 99 )
    	if i % 10 == 9:
    		print()
    	i += 1 
    
    """
    0123456789
    **********
    10111213141516171819
    **********
    20212223242526272829
    **********
    ...
    90919293949596979899
    **********
    9 19 29 39 49 59 69 79 89 99
    9 % 10  = 9
    19 % 10 = 9
    29 % 10 = 9
    ...
    99 % 10 = 9
    """
    
    print("<======>")
    # 方法二
    i = 1
    while i <= 100:
    	# 逻辑写在这里
    	print("*" , end="")
    	# 打印换行 (在9 19 29 .. 99 )
    	if i % 10 == 0:
    		print()
    	i += 1 
    """
    12345678910
    **********
    11121314151617181920
    **********
    21222324252627282930
    **********
    ...
    919293949596979899100
    **********
    10 20 30 ... 100
    """
    # (5) 一个循环实现十行十列,格列换色的小星星
    """
    ★☆★☆★☆★☆★☆
    ★☆★☆★☆★☆★☆
    ★☆★☆★☆★☆★☆
    ★☆★☆★☆★☆★☆
    ★☆★☆★☆★☆★☆
    ★☆★☆★☆★☆★☆
    ★☆★☆★☆★☆★☆
    ★☆★☆★☆★☆★☆
    ★☆★☆★☆★☆★☆
    ★☆★☆★☆★☆★☆
    """
    i = 0 
    while i < 100:
    	# (1)打印星星
    	if i % 2 == 0 :
    		print("★",end="")
    	else:
    		print("☆",end="")
    	# (2)打印换行 (在9 19 29 .. 99 )
    	if i % 10 == 9:
    		print()
    	i += 1 
    # (6)一个循环实现十行十列,隔行换色的小星星
    """
    ★★★★★★★★★★
    ☆☆☆☆☆☆☆☆☆☆
    ★★★★★★★★★★
    ☆☆☆☆☆☆☆☆☆☆
    ★★★★★★★★★★
    ☆☆☆☆☆☆☆☆☆☆
    ★★★★★★★★★★
    ☆☆☆☆☆☆☆☆☆☆
    ★★★★★★★★★★
    ☆☆☆☆☆☆☆☆☆☆
    *** 公式:任意数和n进行地板除,会出现n个相同的数
    0 // 10 = 0
    1 // 10 = 0
    2 // 10 = 0
    ..
    9 // 10 = 0
    0 ~ 9 // 10 => 0 (10个相同的0)
    10 // 10 = 1
    11 // 10 = 1
    12 // 10 = 1
    ...
    19 // 10 = 1
    10 ~ 19 // 10 => 1 (10个相同的1)
    .... 以此类推
    20 ~ 29 // 10 => 2 (10个相同的2)
    30 ~ 39 // 10 => 3 (10个相同的3)
    40 ~ 49 // 10 => 4 (10个相同的4)
    ...
    90 ~ 99 // 10 => 9 (10个相同的9)
    0~ 100 会出现10个相同的0,1,2 , 3 ... 9 
    0 // 3 0
    1 // 3 0
    2 // 3 0
    3 // 3 1
    4 // 3 1
    5 // 3 1 
    """
    """"""
    # 方法一
    i = 0 
    while i < 100:
    	# (1)打印星星
    	if i // 10 % 2 == 0:
    		print("★",end="")
    	else:
    		print("☆",end="")
    	# (2)打印换行 (在9 19 29 .. 99 )
    	if i % 10 == 9:
    		print()
    	i += 1 
    # 方法二
    print("<=================>")
    i = 10
    while i < 110:
    	# 打印星星 
    	num = int(str(i)[-2])
    	if num % 2 == 0 :
    		print("★",end="")
    	else:
    		print("☆",end="")
    	# 打印换行
    	if i % 10 == 9:
    		print()
    	i+=1
    """
    10 ~ 100 101 102 103 110...
    10 ~ 19 => 1
    20 ~ 29 => 2
    30 ~ 39 => 3
    90 ~ 99 => 9
    100 ~ 109 => 0
    """

    3. 字符串的切片

    字符串相关操作

    # (1)字符串的拼接 +
    str1 = "赵沈阳,"
    str2 = "so strong"
    res = str1 + str2
    res = "赵沈阳," + "so strong"
    print(res)
    # res = res + ",旁边的同学很喜欢他~"
    res += ",旁边的同学很喜欢他~"
    print(res)
    # (2)字符串的重复 *
    strvar = "重要的事情说三遍~"
    res = strvar * 3
    print(res)
    # (3)字符串跨行拼接 \
    str1 = "kskfjskjfklsjfklasdjklfjaskldjfaskljfklasjdfklasjdklfjaskldfjaskldjflasjfsf" \
    "1122334"
    print(str1)
    # (4)字符串的索引
    #          0 1 2 3 4 5
    strvar = "赵世超真帅呀"
    #         -6-5-4-3-2-1
    print(strvar[1])
    # (5)字符串的切片: (截取)
    """
    语法 => 字符串[::]  完整格式:[开始索引:结束索引:间隔值]
    	(1)[开始索引:]  从开始索引截取到字符串的最后
    	(2)[:结束索引]  从开头截取到结束索引之前(结束索引-1)
    	(3)[开始索引:结束索引]  从开始索引截取到结束索引之前(结束索引-1)
    	(4)[开始索引:结束索引:间隔值]  从开始索引截取到结束索引之前按照指定的间隔截取字符
    	(5)[:]或[::]  截取所有字符串
    """
    strvar = "王文是这个宇宙当中,最完美,无暇,善良,漂亮,英俊,帅气,潇洒,风流倜傥的神秘男孩"
    # (1)[开始索引:]  从开始索引截取到字符串的最后
    res = strvar[3:]
    print(res)
    # (2)[:结束索引]  从开头截取到结束索引之前(结束索引-1)
    """4这个最大值本身获取不到,要获取到4之前的那一个数据 : 取头舍尾"""
    res = strvar[:5]
    print(res)
    # (3)[开始索引:结束索引]  从开始索引截取到结束索引之前(结束索引-1)
    res = strvar[10:16]
    print(res)
    # (4)[开始索引:结束索引:间隔值]  从开始索引截取到结束索引之前按照指定的间隔截取字符
    # 从左向右截取
    res = strvar[::3]
    # 0 3 6 9 12 15 ... 
    print(res)
    # 从右向左截取
    res = strvar[::-1]
    # -1 -2 -3 -4 -5 -6 .... 
    print(res)
    res = strvar[-3:-10:-2]
    # -3 -5 -7 -9   秘的倜风
    print(res)
    print("<====>")
    """从左到右截,间隔值为正值,反过来,间隔值是负值,才能保证截取到数据"""
    """
    res = strvar[-3:-10:10] # 错误的逻辑
    print(res)
    res = strvar[1:10]
    print(res)
    """

    4. 小练习

    问题:

    1.猜大小的游戏:
    设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确。
    2.输出 1-100 内的所有奇数
    3.输出 1-100 内的所有偶数
    4.用户登陆(有三次输错机会)且每次输错误时显示剩余错误次数(提示:使用字符串格式化)
    5.写代码,有如下字符串利用切片实现每一个功能
    strvar = "132a4b5c"
    1)对字符串进行切片形成新的字符串 "132"
    2)对字符串进行切片形成新的字符串 "a4b"
    3)对字符串进行切片形成新的字符串 "1245"
    4)对字符串进行切片形成新的字符串 "3ab"
    5)对字符串进行切片形成新的字符串 "c"
    6)对字符串进行切片形成新的字符串 "ba3"
    6.国际棋盘效果

    答案:

    # 1.猜大小的游戏:
    # 设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确。
    """
    num = 66
    str_num = input("请输入理想的数字")
    num_new = int(str_num)
    if num_new > num:
    	print("猜测的结果大了")
    elif num_new == num:
    	print("显示猜测结果正确")
    elif num_new < 66:
    	print("则显示猜测的结果小了")
    """
    
    # 2.输出 1-100 内的所有奇数
    """
    i = 1
    while i <= 100:
    	if i % 2 == 1:
    		print(i)
    	i +=1
    """
    # 3.输出 1-100 内的所有偶数
    """
    i = 1
    while i <= 100:
    	if i % 2 == 0:
    		print(i)
    	i +=1
    """
    # 4.用户登陆(有三次输错机会)且每次输错误时显示剩余错误次数(提示:使用字符串格式化)
    """
    times = 1
    while times <= 3:
    	pwd = input("请输入您的密码:")
    	if pwd == "111":
    		print("恭喜你登录成功~")
    		break
    	# 剩余次数 = 总次数 - 已经使用的次数
    	print("你剩余的输入次数是%d" % (3 - times))	
    	times +=1
    """
    """
    sign = True
    times = 1
    while sign:
    	pwd = input("请输入您的密码:")
    	if pwd == "111":
    		print("恭喜你登录成功~")
    		sign = False
    	else:
    		# 剩余次数 = 总次数 - 已经使用的次数
    		print("你剩余的输入次数是%d" % (3 - times))
    	# 如果次数已经是3次了,强制终止循环;
    	if times == 3:
    		print("你已经没有机会了... ")
    		sign = False	
    	times +=1
    """
    # 5.写代码,有如下字符串利用切片实现每一个功能
    strvar = "132a4b5c"
    # 1)对字符串进行切片形成新的字符串 "132"
    print(strvar[0:3])
    # 2)对字符串进行切片形成新的字符串 "a4b"
    print(strvar[3:6])
    # 3)对字符串进行切片形成新的字符串 "1245"
    print(strvar[::2])
    # 4)对字符串进行切片形成新的字符串 "3ab"
    print(strvar[1:6:2])
    # 5)对字符串进行切片形成新的字符串 "c"
    print(strvar[-1:])
    # 6)对字符串进行切片形成新的字符串 "ba3"
    print(strvar[-3::-2]) # -3 -5 -7 
    # 6.国际棋盘效果
    # 方法一
    j = 0
    while j < 8:	
    	# □■□■□■□■
    	if j % 2 == 0:
    		print("□■□■□■□■",end="")			
    	# ■□■□■□■□
    	else:
    		print("■□■□■□■□",end="")
    	print()
    	j +=1
    """
    # □■□■□■□■
    i = 0		
    while i < 8:
    	if i % 2 == 0:
    		print("□",end="")
    	else:
    		print("■",end="")
    	i +=1 
    # ■□■□■□■□
    i = 0		
    while i < 8:
    	if i % 2 == 0:
    		print("■",end="")				
    	else:
    		print("□",end="")
    	i +=1 
    """
    print("<=====>")
    j = 0
    while j < 8:	
    	# □■□■□■□■
    	if j % 2 == 0:
    		i = 0		
    		while i < 8:
    			if i % 2 == 0:
    				print("□",end="")
    			else:
    				print("■",end="")
    			i +=1 		
    	# ■□■□■□■□
    	else:
    		i = 0		
    		while i < 8:
    			if i % 2 == 0:
    				print("■",end="")				
    			else:
    				print("□",end="")
    			i +=1 
    	print()
    	j +=1
    
    # 方法二
    """
    □■□■□■□■
    ■□■□■□■□
    □■□■□■□■
    ■□■□■□■□
    □■□■□■□■
    ■□■□■□■□
    □■□■□■□■
    ■□■□■□■□
    """
    print("<=====>")
    i = 0
    while i < 64:
    	# 判断当前是奇数行还是偶数行
    	if i // 8 % 2 == 0:
    		# □■□■□■□■
    		if i % 2 == 0:
    			print("□",end="")
    		else:
    			print("■",end="")
    	else:
    		# ■□■□■□■□
    		if i % 2 == 0:
    			print("■",end="")			
    		else:
    			print("□",end="")
    	# 第八个方块换行
    	if i % 8 == 7:
    		print()		
    	i +=1
    print("<=====>")
    # 方法三
    i = 0
    while i < 4:
    	strvar = ""
    	j = 0
    	# 打印黑白相间的小方块
    	while j < 8:
    		if j % 2 == 0:
    			strvar += "□"
    		else:
    			strvar += "■"
    		j +=1
    	# 正向打印
    	print(strvar)
    	# 逆向打印
    	print(strvar[::-1])
    	i +=1

    总结

    本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注亿速云的更多内容!

    1. 多项_巢状分支

    多项分支 (多选一)

    """
    if 条件表达式1:
    	code1 
    elif 条件表达式2:
    	code2
    elif 条件表达式3:
    	code3
    else:
    	`code4
    如果条件表达式1成立,执行对应的分支code1,反之判断条件表达式2是否成立
    如果条件表达式2成立,执行对应的分支code2,反之判断条件表达式3是否成立
    如果条件表达式3成立,执行对应的分支code3,如果不成立,直接走else分支,到此程序执行完毕
    elif 可以是0个 或者 多个
    else 可以是0个 或者 一个
    """
    youqian = False
    youfang = False
    youche = False
    if youqian == True:
    	print("说明这个人很有实力")
    elif youfang == True:
    	print("能交给朋友么")
    elif youche == True:
    	print("开了雅迪艾玛调动车,我们碰一碰吧")	
    else:
    	print("你还是去做美团骑手吧")
    print("<=======================>")
    # ### 巢状分支
    """单项分支,双向分支,多项分支的互相嵌套组合"""
    youqian = True
    youfang = True
    youche = True
    youyanzhi = True
    youtili = False
    if youqian == True:
    	if youfang == True:
    		if youche == True:
    			if youyanzhi == True:
    				if youtili == True:
    					print("我要嫁给你~")
    				else:
    					print("你去吃点大腰子再来~")
    			else:	
    				print("你去一下泰国+韩国,整整容")
    else:
    	print("你是个好人呐~")
    	
    print("<=======================>")
    #出题 height
    #女生找对象
    	# 男生在1米~1.5米之间 小强 你在哪里?
    	# 男生在1.5~1.7米之间 没有安全感~
    	# 男生 1.7~ 1.8米之间 帅哥 留个电话
    	# 男生 1.8~2米之间 帅哥 你建议多一个女朋友吗
    # python特有(注意:因为input接受的数都是字符串,又因为我们会输入小数,所以这里只能用float)
    """
    height = float(input("请输入您的身高:"))
    if 1 <= height < 1.5:
    	print("小强 你在哪里?")
    elif 1.5 <= height < 1.7:
    	print("没有安全感~")
    elif 1.7 <= height < 1.8:
    	print("帅哥 留个电话")
    elif 1.8 <= height < 2:
    	print("你建议多一个女朋友吗")
    else:
    	print("抱歉,没有合适的选项")
    """
    # 通用写法
    height = float(input("请输入您的身高:"))
    if 1 <= height and height < 1.5:
    	print("小强 你在哪里?")
    elif 1.5 <= height and height < 1.7:
    	print("没有安全感~")
    elif 1.7 <= height and height < 1.8:
    	print("帅哥 留个电话")
    elif 1.8 <= height and height < 2:
    	print("你建议多一个女朋友吗")
    else:
    	print("抱歉,没有合适的选项")
    """
    tab 向右缩进
    shift + tab 向左缩进
    """

    2. 循环结构

    2.1 循环结构

    """特点:减少冗余代码,提升执行效率"""
    """
    语法:
    while 条件表达式:
    	code1
    (1) 初始化一个变量
    (2) 写上循环的条件
    (3) 自增自减的值
    """
    # ### 打印1 ~ 100
    # (1) 初始化一个变量
    i = 1
    # (2) 写上循环的条件
    while i <= 100:
    	# (4) 写上循环的逻辑
    	print(i)
    	# (3) 自增自减的值
    	i += 1 # i = i + 1
    """
    代码解析:
    第一次循环
    i = 1  i<=100 判断为真,执行循环体 print(1)
    i += 1 i => 2 
    第二次循环
    代码回到17行,重新进行条件判定 
    i = 2  i<=100 判断为真,执行循环体 print(2)
    i += 1 i => 3
    第三次循环
    代码回到17行,重新进行条件判定 
    i = 3  i<=100 判断为真,执行循环体 print(3)
    i += 1 i => 4
    ....
    以此类推 
    直到i = 101  i <= 100 判断为假,不执行循环体,到此循环结束...
    1 ~ 100
    """
    # ### 1 ~ 100的累加和
    # (1) 初始化一个变量
    i = 1
    total = 0
    # (2) 写上循环的条件
    while i <= 100 :
    	# (4) 写上自定义的逻辑
    	total += i
    	# (3) 自增自减的值
    	i += 1
    print(total)
    """
    代码解析:
    第一次循环
    i = 1 i <= 100 判定为真True 执行循环体 total += i => total = total + i => 0 + 1
    i += 1  => i = 2
    第二次循环
    i = 2 i <= 100 判定为真True 执行循环体 total += i => total = total + i => 0 + 1 + 2
    i += 1  => i = 3
    第三次循环
    i = 3 i <= 100 判定为真True 执行循环体 total += i => total = total + i => 0 + 1 + 2 + 3 
    i += 1  => i = 4
    ...
    依次类推
    当i = 101 101 <= 100 判定为假False 不执行循环体,到此,循环结束..
    total += i => total + i => 0 + 1 + 2 + 3 + 4 + .... + 100 => 5050
    """
    
    # 死循环
    """
    while True:
    	print(1)
    """
    
    # ### 用死循环的方法实现 1 ~ 100累加和
    i = 1
    total = 0
    sign = True
    while sign:
    	total += i
    	i+=1
    	# 判断i是否加到了101 , 不参与循环
    	if i == 101:
    		# 终止循环
    		sign = False
    print(total) #1 ~ 100 = 5050

    2.2 单项循环的练习

    # (1)打印 一行十个小星星* help(print)
    # help 查看某个方法的文档
    help(print)
    """
    # print("*",end='')
    # print("*",end='')
    # print("*",end='')
    # print("*",end='')
    # print("*",end='')
    # print("*",end='')
    # print("*",end='')
    # print("*",end='')
    # print("*",end='')
    # print("*",end='')
    """
    i = 0
    while i<10:	
    	# end='' 打印时,尾部默认不加换行
    	print("*",end='')	
    	i += 1
    # 默认换行
    # print()
    # (2)通过打印一个变量的形式,展现一行十个小星星
    print("<======>")
    i = 0
    strvar = ""
    while i < 10:
    	# 写上循环的逻辑
    	strvar += "*" # strvar = strvar + "*"
    	i +=1
    print(strvar)
    """
    strvar += "*" => strvar = "*"
    strvar += "*" => strvar = "*" + "*"  = "**"
    strvar += "*" => strvar = "**" + "*" = "***"
    ...
    strvar += "*" => strvar = "********" + "*" = "*********"
    """
    # (3)一行十个换色的星星 ★☆★☆★☆★☆★☆
    """
    # 方法一
    i = 0
    while i < 5:
    	print("★☆",end="")
    	i+=1
    """
    # 方法二
    i = 0
    while i < 10:
    	if i % 2 == 0 :
    		print("★",end="")
    	else:
    		print("☆",end="")
    	i+=1
    print("<=============>")
    # 方法三
    i = 0
    strvar = ""
    while i < 10:
    	if i % 2 == 0 :
    		strvar += "★"
    	else:
    		strvar += "☆"
    	i+=1
    print(strvar)
    """
    ***公式: 任意数 和 n 进行取余,余数的范围: 0 ~ (n-1)***
    0 % 2 = 0
    1 % 2 = 1
    2 % 2 = 0
    3 % 2 = 1
    被除数 % 2 => 0 或者 1
    0 % 5 = 0 
    1 % 5 = 1
    2 % 5 = 2
    3 % 5 = 3
    4 % 5 = 4
    5 % 5 = 0 
    6 % 5 = 1
    7 % 5 = 2
    被除数 % 5 => 0 或者 1,2,3,4
    """
    # (4)用一个循环,打印十行十列小星星
    """
    ★★★★★★★★★★
    ★★★★★★★★★★
    ★★★★★★★★★★
    ★★★★★★★★★★
    ★★★★★★★★★★
    ★★★★★★★★★★
    ★★★★★★★★★★
    ★★★★★★★★★★
    ★★★★★★★★★★
    ★★★★★★★★★★
    """
    # 方法一
    i = 0 
    while i < 100:
    	# 逻辑写在这里
    	print("*" , end="")
    	# 打印换行 (在9 19 29 .. 99 )
    	if i % 10 == 9:
    		print()
    	i += 1 
    
    """
    0123456789
    **********
    10111213141516171819
    **********
    20212223242526272829
    **********
    ...
    90919293949596979899
    **********
    9 19 29 39 49 59 69 79 89 99
    9 % 10  = 9
    19 % 10 = 9
    29 % 10 = 9
    ...
    99 % 10 = 9
    """
    
    print("<======>")
    # 方法二
    i = 1
    while i <= 100:
    	# 逻辑写在这里
    	print("*" , end="")
    	# 打印换行 (在9 19 29 .. 99 )
    	if i % 10 == 0:
    		print()
    	i += 1 
    """
    12345678910
    **********
    11121314151617181920
    **********
    21222324252627282930
    **********
    ...
    919293949596979899100
    **********
    10 20 30 ... 100
    """
    # (5) 一个循环实现十行十列,格列换色的小星星
    """
    ★☆★☆★☆★☆★☆
    ★☆★☆★☆★☆★☆
    ★☆★☆★☆★☆★☆
    ★☆★☆★☆★☆★☆
    ★☆★☆★☆★☆★☆
    ★☆★☆★☆★☆★☆
    ★☆★☆★☆★☆★☆
    ★☆★☆★☆★☆★☆
    ★☆★☆★☆★☆★☆
    ★☆★☆★☆★☆★☆
    """
    i = 0 
    while i < 100:
    	# (1)打印星星
    	if i % 2 == 0 :
    		print("★",end="")
    	else:
    		print("☆",end="")
    	# (2)打印换行 (在9 19 29 .. 99 )
    	if i % 10 == 9:
    		print()
    	i += 1 
    # (6)一个循环实现十行十列,隔行换色的小星星
    """
    ★★★★★★★★★★
    ☆☆☆☆☆☆☆☆☆☆
    ★★★★★★★★★★
    ☆☆☆☆☆☆☆☆☆☆
    ★★★★★★★★★★
    ☆☆☆☆☆☆☆☆☆☆
    ★★★★★★★★★★
    ☆☆☆☆☆☆☆☆☆☆
    ★★★★★★★★★★
    ☆☆☆☆☆☆☆☆☆☆
    *** 公式:任意数和n进行地板除,会出现n个相同的数
    0 // 10 = 0
    1 // 10 = 0
    2 // 10 = 0
    ..
    9 // 10 = 0
    0 ~ 9 // 10 => 0 (10个相同的0)
    10 // 10 = 1
    11 // 10 = 1
    12 // 10 = 1
    ...
    19 // 10 = 1
    10 ~ 19 // 10 => 1 (10个相同的1)
    .... 以此类推
    20 ~ 29 // 10 => 2 (10个相同的2)
    30 ~ 39 // 10 => 3 (10个相同的3)
    40 ~ 49 // 10 => 4 (10个相同的4)
    ...
    90 ~ 99 // 10 => 9 (10个相同的9)
    0~ 100 会出现10个相同的0,1,2 , 3 ... 9 
    0 // 3 0
    1 // 3 0
    2 // 3 0
    3 // 3 1
    4 // 3 1
    5 // 3 1 
    """
    """"""
    # 方法一
    i = 0 
    while i < 100:
    	# (1)打印星星
    	if i // 10 % 2 == 0:
    		print("★",end="")
    	else:
    		print("☆",end="")
    	# (2)打印换行 (在9 19 29 .. 99 )
    	if i % 10 == 9:
    		print()
    	i += 1 
    # 方法二
    print("<=================>")
    i = 10
    while i < 110:
    	# 打印星星 
    	num = int(str(i)[-2])
    	if num % 2 == 0 :
    		print("★",end="")
    	else:
    		print("☆",end="")
    	# 打印换行
    	if i % 10 == 9:
    		print()
    	i+=1
    """
    10 ~ 100 101 102 103 110...
    10 ~ 19 => 1
    20 ~ 29 => 2
    30 ~ 39 => 3
    90 ~ 99 => 9
    100 ~ 109 => 0
    """

    3. 字符串的切片

    字符串相关操作

    # (1)字符串的拼接 +
    str1 = "赵沈阳,"
    str2 = "so strong"
    res = str1 + str2
    res = "赵沈阳," + "so strong"
    print(res)
    # res = res + ",旁边的同学很喜欢他~"
    res += ",旁边的同学很喜欢他~"
    print(res)
    # (2)字符串的重复 *
    strvar = "重要的事情说三遍~"
    res = strvar * 3
    print(res)
    # (3)字符串跨行拼接 \
    str1 = "kskfjskjfklsjfklasdjklfjaskldjfaskljfklasjdfklasjdklfjaskldfjaskldjflasjfsf" \
    "1122334"
    print(str1)
    # (4)字符串的索引
    #          0 1 2 3 4 5
    strvar = "赵世超真帅呀"
    #         -6-5-4-3-2-1
    print(strvar[1])
    # (5)字符串的切片: (截取)
    """
    语法 => 字符串[::]  完整格式:[开始索引:结束索引:间隔值]
    	(1)[开始索引:]  从开始索引截取到字符串的最后
    	(2)[:结束索引]  从开头截取到结束索引之前(结束索引-1)
    	(3)[开始索引:结束索引]  从开始索引截取到结束索引之前(结束索引-1)
    	(4)[开始索引:结束索引:间隔值]  从开始索引截取到结束索引之前按照指定的间隔截取字符
    	(5)[:]或[::]  截取所有字符串
    """
    strvar = "王文是这个宇宙当中,最完美,无暇,善良,漂亮,英俊,帅气,潇洒,风流倜傥的神秘男孩"
    # (1)[开始索引:]  从开始索引截取到字符串的最后
    res = strvar[3:]
    print(res)
    # (2)[:结束索引]  从开头截取到结束索引之前(结束索引-1)
    """4这个最大值本身获取不到,要获取到4之前的那一个数据 : 取头舍尾"""
    res = strvar[:5]
    print(res)
    # (3)[开始索引:结束索引]  从开始索引截取到结束索引之前(结束索引-1)
    res = strvar[10:16]
    print(res)
    # (4)[开始索引:结束索引:间隔值]  从开始索引截取到结束索引之前按照指定的间隔截取字符
    # 从左向右截取
    res = strvar[::3]
    # 0 3 6 9 12 15 ... 
    print(res)
    # 从右向左截取
    res = strvar[::-1]
    # -1 -2 -3 -4 -5 -6 .... 
    print(res)
    res = strvar[-3:-10:-2]
    # -3 -5 -7 -9   秘的倜风
    print(res)
    print("<====>")
    """从左到右截,间隔值为正值,反过来,间隔值是负值,才能保证截取到数据"""
    """
    res = strvar[-3:-10:10] # 错误的逻辑
    print(res)
    res = strvar[1:10]
    print(res)
    """

    4. 小练习

    问题:

    1.猜大小的游戏:
    设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确。
    2.输出 1-100 内的所有奇数
    3.输出 1-100 内的所有偶数
    4.用户登陆(有三次输错机会)且每次输错误时显示剩余错误次数(提示:使用字符串格式化)
    5.写代码,有如下字符串利用切片实现每一个功能
    strvar = "132a4b5c"
    1)对字符串进行切片形成新的字符串 "132"
    2)对字符串进行切片形成新的字符串 "a4b"
    3)对字符串进行切片形成新的字符串 "1245"
    4)对字符串进行切片形成新的字符串 "3ab"
    5)对字符串进行切片形成新的字符串 "c"
    6)对字符串进行切片形成新的字符串 "ba3"
    6.国际棋盘效果

    答案:

    # 1.猜大小的游戏:
    # 设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确。
    """
    num = 66
    str_num = input("请输入理想的数字")
    num_new = int(str_num)
    if num_new > num:
    	print("猜测的结果大了")
    elif num_new == num:
    	print("显示猜测结果正确")
    elif num_new < 66:
    	print("则显示猜测的结果小了")
    """
    
    # 2.输出 1-100 内的所有奇数
    """
    i = 1
    while i <= 100:
    	if i % 2 == 1:
    		print(i)
    	i +=1
    """
    # 3.输出 1-100 内的所有偶数
    """
    i = 1
    while i <= 100:
    	if i % 2 == 0:
    		print(i)
    	i +=1
    """
    # 4.用户登陆(有三次输错机会)且每次输错误时显示剩余错误次数(提示:使用字符串格式化)
    """
    times = 1
    while times <= 3:
    	pwd = input("请输入您的密码:")
    	if pwd == "111":
    		print("恭喜你登录成功~")
    		break
    	# 剩余次数 = 总次数 - 已经使用的次数
    	print("你剩余的输入次数是%d" % (3 - times))	
    	times +=1
    """
    """
    sign = True
    times = 1
    while sign:
    	pwd = input("请输入您的密码:")
    	if pwd == "111":
    		print("恭喜你登录成功~")
    		sign = False
    	else:
    		# 剩余次数 = 总次数 - 已经使用的次数
    		print("你剩余的输入次数是%d" % (3 - times))
    	# 如果次数已经是3次了,强制终止循环;
    	if times == 3:
    		print("你已经没有机会了... ")
    		sign = False	
    	times +=1
    """
    # 5.写代码,有如下字符串利用切片实现每一个功能
    strvar = "132a4b5c"
    # 1)对字符串进行切片形成新的字符串 "132"
    print(strvar[0:3])
    # 2)对字符串进行切片形成新的字符串 "a4b"
    print(strvar[3:6])
    # 3)对字符串进行切片形成新的字符串 "1245"
    print(strvar[::2])
    # 4)对字符串进行切片形成新的字符串 "3ab"
    print(strvar[1:6:2])
    # 5)对字符串进行切片形成新的字符串 "c"
    print(strvar[-1:])
    # 6)对字符串进行切片形成新的字符串 "ba3"
    print(strvar[-3::-2]) # -3 -5 -7 
    # 6.国际棋盘效果
    # 方法一
    j = 0
    while j < 8:	
    	# □■□■□■□■
    	if j % 2 == 0:
    		print("□■□■□■□■",end="")			
    	# ■□■□■□■□
    	else:
    		print("■□■□■□■□",end="")
    	print()
    	j +=1
    """
    # □■□■□■□■
    i = 0		
    while i < 8:
    	if i % 2 == 0:
    		print("□",end="")
    	else:
    		print("■",end="")
    	i +=1 
    # ■□■□■□■□
    i = 0		
    while i < 8:
    	if i % 2 == 0:
    		print("■",end="")				
    	else:
    		print("□",end="")
    	i +=1 
    """
    print("<=====>")
    j = 0
    while j < 8:	
    	# □■□■□■□■
    	if j % 2 == 0:
    		i = 0		
    		while i < 8:
    			if i % 2 == 0:
    				print("□",end="")
    			else:
    				print("■",end="")
    			i +=1 		
    	# ■□■□■□■□
    	else:
    		i = 0		
    		while i < 8:
    			if i % 2 == 0:
    				print("■",end="")				
    			else:
    				print("□",end="")
    			i +=1 
    	print()
    	j +=1
    
    # 方法二
    """
    □■□■□■□■
    ■□■□■□■□
    □■□■□■□■
    ■□■□■□■□
    □■□■□■□■
    ■□■□■□■□
    □■□■□■□■
    ■□■□■□■□
    """
    print("<=====>")
    i = 0
    while i < 64:
    	# 判断当前是奇数行还是偶数行
    	if i // 8 % 2 == 0:
    		# □■□■□■□■
    		if i % 2 == 0:
    			print("□",end="")
    		else:
    			print("■",end="")
    	else:
    		# ■□■□■□■□
    		if i % 2 == 0:
    			print("■",end="")			
    		else:
    			print("□",end="")
    	# 第八个方块换行
    	if i % 8 == 7:
    		print()		
    	i +=1
    print("<=====>")
    # 方法三
    i = 0
    while i < 4:
    	strvar = ""
    	j = 0
    	# 打印黑白相间的小方块
    	while j < 8:
    		if j % 2 == 0:
    			strvar += "□"
    		else:
    			strvar += "■"
    		j +=1
    	# 正向打印
    	print(strvar)
    	# 逆向打印
    	print(strvar[::-1])
    	i +=1

    “Python全栈的单项循环怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI