Python ❀ while循环

本文详细讲解了Python的input函数的用法,while循环的控制结构,包括条件退出、break和continue,以及如何在循环中操作列表和字典。通过实例演示,学习者将掌握如何遍历整数、处理用户输入、移动列表元素和删除重复值,以及在字典操作中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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'}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无糖可乐没有灵魂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值