Python基础知识点-- 用户输入和while循环

      此文章为Python基础知识点(从入门到实践)--   用户输入和while循环​,此节Python基础知识点主要包括:函数input()工作原理、while循环简介、使用while循环处理列表和字典。


一、函数input()的工作原理

      函数 input() 让程序暂停运行,等待用户输入一些文本。获取用户输入后,python将其赋值给一个变量,以方便使用。函数 input()接受一个参数--要向用户显示的提示或说明,让用户该知道如何做。

1.1 编写清晰的程序

       每当使用函数input()时,都应指定清晰易懂的提示,准确的指出希望用户应该输入何种信息的任何提升都行。例子如下:

name = input('Please enter your name: ')
print(f'\nHello,{name}')

输出结果如下:

输入名字后显示:

       有时候,提示可能超过一行。比如可能要指出获取输入的特定原因,可将提示赋值给一个变量,再将变量传递给函数 input()。这样即使提示超过一行也会非常清晰。例子如下:

prompt = 'Pleasw tell me your name.'
prompt += '\nWhat is your name? '

name = input(prompt)
print(f'\nHello,{name}')

运行结果如下:

 输入名字后显示: 

        第一行将消息前半部分赋值给变量,第二行运算符+=在前面赋值给变量prompt末尾加上下一行字符串。

1.2 使用 int()来获取数值输入

        使用函数input()时,python将用户输入了理解成字符串,接下来我们要学的就是在input()函数输入数值时,使python理解输入数值为数值,而不是把输入数值理解为字符串。

       为解决这个问题我们可以使用函数 int()。

使用函数 int()之前代码如下:

age = input('How old are you? ')

if age >= 18:
    print('\nGood.')
else:
    print('Too young.')

 输入年龄后显示:

 使用函数 int()之后代码如下:

age = input('How old are you? ')
age = int(age)

if age >= 18:
    print('\nGood.')
else:
    print('\nToo young.')

 输入年龄后显示:

     将数值输入用于计算和比较前,务必将其转化为数值表示。

1.3 求模运算符

       处理数值信息时,求模运算符(%)是个很有用的工具,它将两个数相除并返回余数。求模运算符不会指出一个数是另一个数的多少倍,只指出余数是多少。

       如果一个数能被另一个数整除,余数就为0,因此求模运算将返回0。可利用这一点判断一个数是奇数和偶数。

代码如下:

number = input("Enter a number,and I will tell you if it is even or odd: ")
number = int(number)
if number % 2 == 0:
    print(f'\nThe number {number} is even.')
else:
    print(f'\nThe number {number} is odd.')

运行并输入数字后显示:

 二、while 循环简介

      for循环用于针对集合中的每个元素都执行一个代码块,而while循环则不断运行,直到指定的条件不满足为止。

2.1 使用while 循环

     可使用while循环来数数。例子如下:

number = 1
while number <= 5:
    print(number)
    number += 1 # 是 number = numbr + 1 的简写

运行结果如下:

 2.2 让用户选择何时退出

        可使用while循环让程序在用户愿意时不断运行。在程序中定义一个退出值,只要用户输入的不是这个值,程序就将接着运行。例子如下:

prompt = "Tell me your name:"
prompt += "\nEnter 'quit' to end the program. "
message = ''
while message != 'quit':
    message = input(prompt)
    if message != 'quit':
        print(message)

运行结果如下:

 2.3 使用标志

       在满足很多条件都满足才继续运行的程序中,可定义一个变量,用于判断整个程序是否处于活动状态。这个变量称为标志,充当程序的交通信号灯。可让程序在标准为True时继续运行,并在任何事件导致标志的值为False时让程序停止运行。这样,在while语句中就只需检查一个条件:标志的当前值是否为True。

例子如下:

prompt = "Tell me your name :"
prompt += "\nEnter 'quit' to end the program. "

active = True
while active:
    message = input(prompt)

    if message == 'quit':
        active = False
    else:
        print(message)

运行结果如下:

 2.4 使用break 退出循环

      要立即退出while循环,不再运行循环中余下的代码,也不管条件测试的结果如何,可使用break语句。break语句用于控制程序流程,可用来控制哪些代码行将执行、哪些代码行不执行,从而让程序按你的要求执行你要执行的代码。

例子如下:

prompt = "Tell me your name :"
prompt += "\nEnter 'quit' to end the program. "

while True:
    message = input(prompt)

    if message == 'quit':
       break
    else:
        print(f'Hello,{message}')

运行结果如下:

 2.5 在循环中使用 continue

      要返回循环开头,并根据条件测试结果决定是否继续执行循环,可使用continue语句,他不像break语句那样不再执行余下的代码并退出整个循环。

例子如下:

current_number = 0
while current_number <10:
    current_number += 1
    if current_number % 2 == 0:
        continue

    print(current_number)

运行结果如下:

      首先将current_number设置为0,由于小于10,python进入while循环。进入循环以后,以步长1的方式往上数,因此current_number为1。接下来,if语句检查current_number与2的求模运算结果。如果结果为0,就执行continue语句,让python忽略余下的代码,并返回循环的开头。若不能被2整除,就执行循环中余下的代码,将数打印出来。

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

     通过while循环同列表和字典结合起来使用,可收集、存储并组织大量输入,供以后查看和使用。for循环是一种遍历列表的主要方式,但不应在for循环中修改列表,否则python难以追踪其中的元素。

3.1 在列表之间移动元素

      while循环可将一个列表中元素提取出来,再将其加入另一个已验证用户列表中。

代码类似于以下:

pets = ['dogs','cats','rabbit']
old_pets = []

while pets:
    wave_pets = pets.pop()

    print(f'pets:{wave_pets}')
    old_pets.append(wave_pets)

print('\nThe old pets:')
for old_pet in old_pets:
    print(old_pet)

运行结果如下:

3.2 删除为特定值的所有列表元素

      可使用while循环加函数remove()来删除列表中的特定值。代码如下:

pets = ['dogs','cats','rabbit','cats','ducks','cats']
print(pets)

while 'cats' in pets:
    pets.remove('cats')

print(pets)

运行结果如下:

 3.3 使用用户输入来填充字典

    可使用while循环提示用户输入信息,并将收集的信息存储在一个字典中。代码例子如下:

responses = {}

# 设置一个标志,指出调查是否继续
polling_active = True

while polling_active:
    # 提示输入被调查者的名字和回答
    name = input('\nWhat is your name?')
    response = input('How old are you?')

    # 将回答存储在字典中
    responses[name] = response
    # 看看是否还有人要参与调查
    repeat = input('Others?()yes/no')
    if repeat == 'no':
        polling_active = False
# 调查结束,显示结果。
print('\n---Result---')
for name,response in responses.items():
    print(f"{name}is{response}.")

运行结果如下:


今天的学习总结就到这里啦!如果有什么问题可以在评论区留言呀~

如果帮助到大家,可以一键三连+关注支持下~

参考学习书籍:Python编程 从入门到实践 (第二版)


系列文章目录

Python基础知识点-- 变量和简单数据类型

Python基础知识点-- 列表
Python基础知识点-- 遍历列表、切片、元组

Python基础知识点-- if 语句

Python基础知识点-- 字典

猜你喜欢

转载自blog.csdn.net/m0_57787115/article/details/129423940