Python自学|while循环的使用方法|99乘法口诀表倒着打印
上一章学了while的基础知识,这章学习while更多的用法。
1.使用while循环 让列表的元素移动。
# 创建一个待验证的用户列表
a = ['唐三藏','孙悟空','猪八戒']
# 再创建一个用于存储已验证的用户列表
b = [ ]
# 验证a列表里的用户,直到没有未验证用户为止
# 将每个验证的用户都移动到已验证的用户列表里
while a:
b1=a.pop()
print(f'等待验证的用户:{b1}')
b.append(b1)
# 显示所有已验证的用户
print('以下用户已确认:')
for c in b:
print(c)
这里是利用while循环去遍历列表a里的每一个元素,并且通过pop函数把原列表逐个删除,直到删除列表为空的时候 循环停止,所以这个退出的信号就是a列表为空的时候。
灵活运用是检验是否学好的关键。
2;while 删除列表里特定的元素;
删除列表的元素方法,咱们来复习一下:
1;del 2,remove 3.pop
a= [1,2,3,4,1,5,1,1,6]
del a[1]
print('只能输入索引值删除指定的元素',a)
b= [1,2,3,'西瓜',4,1,5,1,1,6]
b.remove('西瓜')
print('可以直接删除元素',b)
b.remove(b[5])
print('可以通过索引值删除指定元素',b)
c= [1,2,'西瓜',3,4,1,5,1,1,6]
c.pop(2)
print('输入索引值,删除对应元素,无法直接输入元素',c)
这是一个一个删除,如果一个列表里有一个元素出现了很多次都要删除呢?
如下图,需要删除列表里的数字:1
a=[1, 2, 3, 4, 1, 5, 1, 1, 6]
# while在处理列表的时候 我觉得不太好理解,建议还是用for
while 1 in a:
a.remove(1)
print(a)
# 遍历a
for i in a:
# 如果i==1的话
if i ==1:
# 就移除i
a.remove(i)
print(a)
3;通过while循环提醒 用户输入信息,并把信息填入字典。
这个案例很重要,还请自己手动操作一下:
print('马上放假了,现在做一个调研,请各位把你们的姓名和想去的地方记录下来!!')
# 这是一个空字典 用于存储
a={}
# 设置一个标志,作用于一个循环体内,控制是否循环
biaozhi=True
# 当循环是True的时候:进行循环
while biaozhi:
name=input('请输入你的名字:')
qunali=input('这个假期你准备去哪里玩:')
# 这一步就是把用户输入的内容填入字典
# 还记得如何往字典里添加内容吧? 格式:字典名[键]=值
a[name]=qunali
# 提示是否继续输入
xunwen=input('是否继续录入信息(Y/N):')
# 如果询问不等于Y 意思是不继续
# 这里也可以写成 xunwen==N,下一句:biaozhi=False
# 这个if 后面不需要跟esle if是在一个循环体内,如果下面没有新的内容的话
# 会自动循环的到开头 name=input('请输入你的名字')
if xunwen !='Y':
# 那么循环就停止
biaozhi=False
#结果
print('\n记录的信息如下请核对:')
for x,y in a.items():
print(f"{x}喜欢去:{y}")
最后 我把上一章,如何通过while循环,for循环编写99乘法口诀表 正 反打印的代码列一下:
while方法实现99乘法口诀表 正 与 反的2种打印方法,
关键是练习自己对嵌套的认识
print('------------------99乘法口诀表----------------------------')
print('while 实现正打印')
# a 在首行,一次循环只显示一个数
a = 1
while a<=9:
# b 在循环体内 当a是1的时候,b会从1开始到b
for方法实现99乘法口诀表 正 与 反的2种打印方法:
for循环的过程我没有写注释 原理跟while是一样的,关键弄懂第一次循环与第二次循环计算机会如何展示的逻辑,就一通百通了
print('----------------for in range 实现99乘法口诀表的正反---------------')
for a in range(1,10):
for b in range(1,a+1):
print(a,'*',b,'=',a*b,end=' ')
print(' ')
print('分隔行')
for a in range(1,10):
for b in range(9,a-1,-1):
print(b,'*',a,'=',b*a,end=' ')
print(' ')
编写不易,如果文章中的内容你觉得有用,还请点赞,收藏,转发,