Python ❀ while循环

Posted 无糖可乐没有灵魂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python ❀ while循环相关的知识,希望对你有一定的参考价值。

文章目录

1、Input函数


函数input()可以让程序暂停运行,等待输入一些文本内容,获取输入后,Python将获取到的内容存储在一个变量中,方便后续的使用;

a = input("请输入一个文本内容:")
print(type(a))
print(a)

输出结果:

请输入一个文本内容:111
<class 'str'>
111

1.1 使用换行符

a = input("\\n请输入一个文本内容:")
print(a)

输出结果:

请输入一个文本内容:111
111

1.2 切换输入类型

由于input()函数的输出类型为字符串类型,因此在输入整数或浮点数时,需要进行数据类型转换;

a = input("请输入一个数字:")
print(type(a))
b = int(input("请输入一个数字:"))
print(type(b))

输出结果:

请输入一个数字:11
<class 'str'>
请输入一个数字:11
<class 'int'>

2、While循环


for循环用于针对集合中的每个元素的一个代码块,而while循环则是通过不断的运行,直到指定条件不满足或手动退出循环为止;

2.1 使用While循环

使用while循环遍历整数;

i = 1
while i < 5:
    # 当i小于5则符合要求,直到大于5退出循环
    print(i)
    # i持续叠加1
    i += 1

输出结果:

1
2
3
4

2.2 循环的退出

在使用while循环时,如果想让循环手动退出则可以设置一个退出条件;当然也可以使用break与continue;

2.2.1 条件退出

i = True
while i:
    aaa = input("输入:")
    # 当aaa输入为quit时,变量i为False,循环不成立
    if aaa == "quit":
        i = False
    else:
        print(aaa)

输出结果:

输入:111
111
输入:quit

2.2.2 break

立即退出循环,不再运行循环剩余代码,无论测试条件结果如何直接退出;

i = 0
while i < 4:
    i+=1
    # 当i为2时,停止循环
    if i == 2:
        break
    print(i)

输出结果:

1

2.2.3 continue

返回到循环的开头,并根据条件测试结果决定是否继续执行循环代码;

i = 0
while i < 4:
    i+=1
    # 当i为2时,跳转到循环头部
    if i == 2:
        continue
    print(i)

输出结果:

1
3
4

3、While处理列表和字典


for循环是一种遍历列表的有效方式,但是不推荐使用for循环修改列表,否则将难以跟踪其中的元素,如果在遍历列表的同时对其进行修改,可以使用while循环;

3.1 列表之间移动元素

创建两个列表,其中一个为空列表,将列表1的值依次添加到列表2中,并删除列表1中的值;

l1 = ["aaa","bbb","ccc","ddd"]
l2 = []

#遍历l1列表
while l1:
    # 变量ls的值为l1列表的末尾删除值
    ls = l1.pop()
    # 将ls添加到l2列表末尾
    l2.append(ls)
    print(l1,l2)

输出结果:

['aaa', 'bbb', 'ccc'] ['ddd']
['aaa', 'bbb'] ['ddd', 'ccc']
['aaa'] ['ddd', 'ccc', 'bbb']
[] ['ddd', 'ccc', 'bbb', 'aaa']

3.2 删除包含特定值的所有列元素

删除某个列表中的重复项;

l1 = ["aaa","bbb","aaa","ccc"]

while "aaa" in l1:
    l1.remove("aaa")
    print(l1)

输出结果:

['bbb', 'aaa', 'ccc']
['bbb', 'ccc']

3.3 用户输入填充字典

创建一个空白字典,重复输入键值对,并确认是否继续输入键值对;

d = 
aaa = True
while aaa:
    name  = input("输入:")
    val = input("输入:")
    d[name]=val

    bbb = input("yes/no")
    if bbb == "no":
        aaa = False
        print("end!")
print(d)

输出结果:

输入:111
输入:222
yes/noyes
输入:333
输入:444
yes/nono
end!
'111': '222', '333': '444'

以上是关于Python ❀ while循环的主要内容,如果未能解决你的问题,请参考以下文章

python循环语句

Python3

DAY 04 while和for循环

Python 基础知识整理-2

Python3 循环_break和continue语句及循环中的else子句

第七章-用户输入和while循环