Python全栈之单项循环

目录
  • 1. 多项_巢状分支
  • 2. 循环结构
    • 2.1 循环结构
    • 2.2 单项循环的练习
  • 3. 字符串的切片
  • 4. 小练习
    • 问题:
    • 答案:
  • 总结
  • 1. 多项_巢状分支
  • 2. 循环结构
    • 2.1 循环结构
    • 2.2 单项循环的练习
  • 3. 字符串的切片
  • 4. 小练习
    • 问题:
    • 答案:
  • 总结

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

总结

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

(0)

相关推荐

  • Python条件语句与循环语句

    目录 1.条件语句 1.1 if语句 2.嵌套的分支语句 3.案例练习 4.循环语句 4.1 for-in循环 4.2 range()函数 4.3 实例1:计算1-100的和 4.4 实例2:计算1-100偶数的和 4.5 实例3:计算1-100奇数的和 5.while循环 6.break 和 continue 语句 6.1 实例:猜字游戏 7.循环嵌套 7.1 实例1:通过for...in语句打印99乘法表 7.2 实例2:通过while语句打印99乘法表 1.条件语句 所谓的条件语句,就是通

  • python的逻辑与循环详解

    目录 程序的逻辑: 程序的循环 1. for循环的构建和原理: 2. while循环的构建和原理 3. 循环控制语句 4. for循环伴侣 range()函数 总结 程序的逻辑: 一个让计算机按照既定计划或规则执行的流程即程序的逻辑 逻辑是程序的基石 程序逻辑的组成:逻辑语句与逻辑运算构成了程序的逻辑 如何构建逻辑判断 if(逻辑运算-条件): (代码块) elif(逻辑运算-条件): (代码块) else: (代码块) chengji = 30 if (chengji >= 90): prin

  • Python 条件,循环语句详解

    目录 1.Python 条件语句 1.1 pass语句 2.Python for 循环语句 2.1 for 嵌套循环 3.Python while 循环语句 3.1 while 循环嵌套 4.break 语句 5.continue 语句 总结 1.Python 条件语句 Python 条件语句是通过一条或多条语句的执行结果来决定执行的代码块.Python 编程中 if 语句用于控制程序的执行.Python 不支持使用 switch 语句,所以当有多个条件判断时,只能使用 elif 来进行编程.i

  • python 循环结构练习题

    目录 1.求两个数最大公约数 2.整数反转:如12345,输出54321 3.1~10之间的整数相加,得到累加值大于20的当前数 4.输入从周一至周五每天的学习时间(以小时为单位),并计算每日平均学习时间. 5.输出10000以下的完全数 6.用户玩游戏 7.菜单自动循环 8.打印图形 1.求两个数最大公约数 num1 = int(input('请输入第一个数:')) num2 = int(input('请输入第二个数:')) max_num = max(num1, num2) min_num

  • python基础之循环语句

    目录 循环语句 单分支如何使用 双分支结构 多分支的使用 While 循环 拳击游戏循环: 总结 循环语句 多分支 选择流程 If-else语句 单分支如何使用 # 单分支表示 # if 条件表达式; 比较运算符/逻辑运算符 或者复合表达 # 代码指令 # ...... score=60 if score<=60: #满足条件就会输出打印提示 print('成绩不是太理想') pass #空语句,结束跳过,用于填补结构 print('语句运行结束') 双分支结构 # 双分支 # if 条件表达式

  • Python 循环函数详细介绍

    目录 一.循环函数 1.for循环 2.while循环 3.中断循环 二.循环设计 1.range() 2.enumerate() 3.zip() 三.循环对象 1.什么是循环对象 2.迭代器 3.生成器 4.表推导 一.循环函数 1.for循环 for循环需要预先设定好循环的次数(n),然后执行隶属于for的语句n次. 基本构造是 for 元素 in 序列: statement 举例来说,我们编辑一个叫forDemo.py的文件 for a in [3,4.4,'life']: print a

  • Python 遍历循环详细

    目录 一.基本用法 二.计数循环 三.字符串遍历循环 四.列表遍历循环 五.文件遍历循环 六.遍历循环的扩展模式 一.基本用法 for <循环变量> in <遍历结构>: <语句块> 遍历结构可以是字符串.文件.组合数据类型或range()函数等. 二.计数循环 for i in rang(N): 遍历由range()函数产生的数字序列,产生循环 for i in rang(M,N,k) 指从M开始,到N-1,以K为步长 for i in range(1,6,2): p

  • Python全栈之单项循环

    目录 1. 多项_巢状分支 2. 循环结构 2.1 循环结构 2.2 单项循环的练习 3. 字符串的切片 4. 小练习 问题: 答案: 总结 1. 多项_巢状分支 2. 循环结构 2.1 循环结构 2.2 单项循环的练习 3. 字符串的切片 4. 小练习 问题: 答案: 总结 1. 多项_巢状分支 多项分支 (多选一) """ if 条件表达式1: code1 elif 条件表达式2: code2 elif 条件表达式3: code3 else: `code4 如果条件表达式

  • Python全栈之for循环

    目录 1. 双向循环的练习 2. break_pass_continue的使用 3. for循环 小提示: 4. 小练习 问题: 答案: 总结 1. 双向循环的练习 # 1.用两个循环完成十行十列的小星星 j = 0 while j < 10: # 打印星星 i = 0 while i < 10: print("*",end="") i+=1 # 打印换行 print() j += 1 # 2.用两个循环完成十行十列隔列换色的小星星 "&quo

  • python全栈要学什么 python全栈学习路线

    IT行业,技术要比学历.年龄.从业经验更为重要,技术水平直接决定就业薪资,想要学好python,首先要先了解精通Python语言基础.Python web开发.Python爬虫.Python数据分析这四大方面. 全栈即指的是全栈工程师,指掌握多种技能,并能利用多种技能独立完成产品的人.就是与这项技能有关的都会,都能够独立的完成. 全栈只是个概念,也分很多种类.真正的全栈工程师涵盖了web开发.DBA .爬虫 .测试.运维,要学的内容那是相当的巨量.就web开发方向而言需要学习的内容:前端知识 包

  • python全栈知识点总结

    全栈即指的是全栈工程师,指掌握多种技能,并能利用多种技能独立完成产品的人.就是与这项技能有关的都会,都能够独立的完成. 全栈只是个概念,也分很多种类.真正的全栈工程师涵盖了web开发.DBA .爬虫 .测试.运维,要学的内容那是相当的巨量.就web开发方向而言需要学习的内容:前端知识 包括HTML5 CSS3 JS Jquery Ajax,后端至少需要能够熟练使用Django和tornado,当然会flask更好. 扩展资料: 全栈工程师的厉害之处并不是他掌握很多知识,可以一个人干多份工作.而是

  • python全栈开发语法总结

    太多的小伙伴正在学习Python,就说自己以后要做全栈开发,大家知道这是做什么的吗?我们现在所知道的知识点,哪些是以后你要从事这个全栈所需要的呢?从名字上我们可以获知,"全"一样是掌握全部内容,没错,这里就是要自己掌握全部编程技能,足够独立开发的人,因此全栈士不如也说叫"全战士",如果想做,那就看下面能用到的语法吧. 1.中文编码-UTF8字符集 #!/usr/bin/env python # coding:utf8 2.数值 a = 1 b = 2.1 print

  • Python全栈之学习JS(1)

    目录 1. js的数据类型 1.1 js引入方式 1.2 注释变量 1.3 数据类型 2. js类型转换_运算符 2.1 强制转换_Number 2.2 强制转换_String 2.3 强制转换_Boolean 2.4 自动类型转换_Number_Boolean_String三者之间转换 2.5 js运算符 3. js流程控制 3.1 分支结构 3.2 分支结构_switch_case 3.3 循环结构 4. js函数 4.1 函数 4.2 函数的调用 总结 1. js的数据类型 1.1 js引

  • Python全栈之运算符详解

    目录 1. 算数_比较_赋值_成员 1.1 算数运算符 1.2 比较运算符 1.3 赋值运算符 1.4 成员运算符 2. 身份运算符 小提示: 3. 逻辑运算符 3.1 位运算符 3.2 小总结 4. 代码块_单项_双项分支 4.1 代码块 4.2 流程控制 4.3 单项分支 4.4 双项分支 5. 小作业 总结 1. 算数_比较_赋值_成员 1.1 算数运算符 算数运算符: + - * / // % ** # + var1 = 7 var2 = 90 res = var1 + var2 pri

  • Python全栈之推导式和生成器

    目录 1. 推导式 2. 推导式练习 3. 集合_字典推导式 4. 生成器 4.1 生成器表达式 4.2 生成器函数 5. 小练习 总结 1. 推导式 # ### 推导式 : 通过一行循环判断遍历出一些列数据的方法叫做推导式 """ 语法: val for val in iterable """ # 1.推导式基本语法 lst = [] for i in range(1,51): lst.append(i) print(lst) # 改写推导式

  • Python全栈之列表数据类型详解

    前言 列表(list)同字符串一样都是有序的,因为他们都可以通过切片和索引进行数据访问,且列表是可变的. 创建列表的几种方法 第一种 name_list = ['Python', 'PHP', 'JAVA'] 第二种 name_list = list(['Python', 'PHP', 'JAVA']) 创建一个空列表 >>> li = list() >>> type(li) <class 'list'> 把一个字符串转换成一个列表 >>>

  • Python全栈之面向对象基础

    目录 1. 面向对象oop了解 2. 对象的相关操作 小提示: 3. 类的相关操作 4. 类对象的删除操作 小提示: 5. 小练习 小提示: 答案: 总结 1. 面向对象oop了解 # ### oop 面向对象的程序开发 # (1) 类的定义 # 1 class Car: pass # 2 推荐 class Car(): pass # 3. class Car(object): pass # (2)类的实例化 class Car(): pass obj = Car() print(obj) #

随机推荐