Python入门 — 用户输入和while循环

一、用户输入

input() 函数可以让用户进行输入,即input() 函数让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python 将其赋给一个变量。

input() 函数接受一个参数,即要向用户显示的提示,让用户知道该输入什么样的信息,比如:

message = input("你需要输入你的姓名:\n")
print("你的姓名:" + message)

使用 input() 函数时,都应指定清晰易懂的提示。

1、int()函数

在使用 input() 函数时,Python 会将用户输入解读为字符串。如果需要获取的输入为数值时,则可以使用函数 int() 将输入的字符串转换为数值。

age = input("你多大了?")
age = int(age)
print(age >= 18)

2、求模运算

number = input("请输入一个数字")
number = int(number)
if number % 2 == 0:
    print(f"\nT数字 {number} 是偶数")
else:
    print(f"\n数字 {number} 是奇数")

二、while 循环

i = 1
while i <= 5:
    print(i)
    i += 1

输出结果:

1
2
3
4
5

1、标志

       在复杂的程序中,有很多不同的事件会导致程序停止运行,在要求满足很多条件才继续运行的程序中,可定义一个变量,用于判断整个程序是否处于活动状态。这个变量称为标志(flag)。在 while 语句中就只需检查一个条件:标志的当前值是否为 True。

prompt = "输入-1即可停止程序"
active = True
while active:
    message = input(prompt)
    if message == '-1':
        active = False
    else:
        print(message)

2、break 与 continue

       不管条件测试的结果如何,想立即退出 while 循环,不再运行循环中余下的代码,可使用 break 语句;要返回循环开头,并根据条件测试的结果决定是否继续执行循环,可使用 continue
语句,它不像 break 语句那样不再执行余下的代码并退出整个循环。

## continue
i = 0
while i < 6:
    i += 1
    if i % 2 == 0:
        continue
    print(i)

输出结果:只输出1~6的奇数

1

3

5

## break
i = 0
while i < 6:
    i += 1
    if i % 2 == 0:
        break
    print(i)

输出结果:只要有偶数就退出while

1

三、使用while处理列表和字典

1、移动元素

下面我们通过模拟用户验证过程,使用while循环操作列表,即移动列表元素

unconfirmed_users = ['aa', 'bb', 'cc']
confirmed_users = []
# 验证每个用户,直到没有未验证用户为止
# 将每个经过验证的用户都移到已验证用户列表中
while unconfirmed_users:
    user = unconfirmed_users.pop()
    print(f"正在验证的用户是: {user.title()}")
    confirmed_users.append(user)
# 显示所有的已验证用户
print("\n以下用户已验证完成:")
for confirmed_user in confirmed_users:
    print(confirmed_user.title())

正在验证的用户是: Cc
正在验证的用户是: Bb
正在验证的用户是: Aa

以下用户已验证完成:
Cc
Bb
Aa

2、删除元素

之前我们是使用 remove() 函数来删除列表中的特定值,之所以可行,是因为要删除的值在列表中只出现了一次。如果要删除列表中所有为特定值的元素,则需要使用循环来实现。

假设有一个动物列表,其中包含多个值为 'dog' 的元素。要删除所有这些元素,直到列表中不再包含值 'dog',如下所示:

pets = ['dog', 'cat', 'dog', 'fish', 'cat', 'rabbit', 'dog']
print(pets)
while 'dog' in pets:
    pets.remove('dog')
print(pets)

输出结果:

['dog', 'cat', 'dog', 'fish', 'cat', 'rabbit', 'dog']
['cat', 'fish', 'cat', 'rabbit']

3、input() 填充字典

responses = {}
# 设置一个标志,指出调查是否继续
flag = True
while flag:
# 提示输入被调查者的名字和回答
    name = input("\n请问您的名字是? ")
    response = input("哪首歌是您最喜欢的呢? ")
# 将回答存储在字典中
    responses[name] = response
# 看看是否还有人要参与调查
    repeat = input("还有其他人参与问卷吗(是/否)")
    if repeat == '否':
        flag = False
# 调查结束,显示结果
print("\n--- 输出结果 ---")
for name, response in responses.items():
    print(f"{name} 最喜欢的是 {response}.")

程序首先定义了一个空字典(responses),并设置了一个标志 flag。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值