Python中用户输入与while循环详情

目录
  • 一、用户输入
    • 1.输入字符串
    • 2.使用函数int()获取数值输入
    • 3.求模运算符的应用
  • 二、while循环
    • 1.简单的while循环
    • 2.通过用户输入退出while循环
    • 3.使用标志
    • 4.使用break退出循环
    • 5.在循环中使用continue
  • 三、使用while循环处理列表和字典
    • 1.在列表之间移动元素
    • 2.删除列表中所有的特定元素
    • 3.使用用户输入来填充字典

前言:

本文的主要内容是介绍Python中用户输入与while循环,包括如何接收用户输入并进行处理,在程序满足一定的条件时让程序一直运行,通过获取用户输入并学会控制程序在用户想要结束时退出循环,即可编写出交互式程序,文中附有代码以及相应的运行结果辅助理解。

一、用户输入

input() ——函数input()让程序暂时停止运行并等待用户输入内容,在获取到用户的输入后,Python会将输入存储在一个变量中,以便后续使用。

1.输入字符串

先来看一个简单的用户输入例子。

msg = input('Please input a string: ') #引号中的内容应当向说明需要用户提供什么样的信息
#如果引号中的提示内容有多行,可以加入'\n'来换行
print('The message you just input is "' + msg + '".')

运行结果如下图所示:

程序运行后出现“Please input a string:”提示用户输入一个字符串,用户输入完字符串后按回车键程序继续运行,用户输入的字符串存储在变量msg中,通过打印msg即可看到用户输入的内容。

2.使用函数int()获取数值输入

有时候我们需要用户输入数值,但是使用函数input()时,Python将用户输入全部解读为字符串,即使你输入的是数值,这时候就需要用到函数int()了。
int() ——函数int()的功能是将输入的数字字符串转换为数值。
通过函数int()处理过的用户输入就可以当做数值来使用了。
下面是使用函数int()获取数值输入的例子。

age = input('Please input your age: ')
age_integer = int(age)  #将数字字符串转换为数值

if age_integer >= 18:
    print('Your age is over 18.')
else:
    print('Your age is under 18.')

运行结果如下图所示:

3.求模运算符的应用

求模运算符 % 在编程中经常使用,它用来返回两个数相除的余数,如果余数为0,即可以整除,通过将用户输入的数与2求模即可判断用户输入的数是奇数还是偶数。

下面是使用求模运算判断输入为奇数还是偶数的例子

num = input('Please input a number: ')
number = int(num)
print('The number you just input is ' + num + '.')

if number%2 == 0: #可以整除2,是偶数
    print('It is an even number.')
else:  #不可以整除2,是奇数
    print('It is an odd number.')

运行结果如下图所示:

二、while循环

之前已经介绍过了for循环,其一般用于集合中的每个元素,而while循环不断地运行,直到指定的条件不满足为止。

1.简单的while循环

下面是一个简单的while循环的例子:

num = 1
while num <= 5:
    print(num)
    num += 1   #不能使用num ++,一定要有这个条件,否则会进入无限循环

运行结果如下图所示:

由上面的输出结果可知,在条件满足时,while循环一直在执行,当条件不满足时,就会退出while循环。

2.通过用户输入退出while循环

有时候我们需要让用户决定何时退出循环,可以设置一个字母或者字符串作为while循环结束的标志,当用户输入这个字母或者字符串时,就退出while循环。

下面是通过用户输入退出while循环的例子:

msg = ''
while msg != 'q':  #用户输入q时就退出循环
    msg = input("Enter 'q' to end the program.\nPlease input a string: ")
    if msg != 'q': #用户输入非q时打印用户输入信息
        print('The message you just input is "' + msg + '".')

运行结果如下图所示:

由输出结果可知,用户可以控制while循环何时退出并结束程序。

3.使用标志

在程序运行的过程中,有很多的因素可以导致程序停止运行,导致程序结束的事件有很多时,如果在一条while语句中检查所有这些条件,将既复杂又困难。
在很多条件都满足时才继续运行的程序中,可定义一个变量用于判断整个程序是否处于活动状态,这个变量就被称为标志,可让程序在标志为True时继续运行,并在任何事件导致标志的值为False时让程序停止运行,这样,在while循环语句中就只需检查当前的标志是否为True这一个条件,从而让程序变得更为简单易读。

面是使用标志控制while循环的例子:

sign = True
while sign:  #标志为True时执行循环
    msg = input("Enter 'q' to end the program.\nPlease input a string: ")
    
    if msg != 'q': #用户输入非q时打印用户输入信息
        print('The message you just input is "' + msg + '".')
    else:   #用户输入q时修改标志使其退出循环
        sign = False  #将标志置为False结束while循环

运行结果如下图所示:

这段代码的功能与通过用户输入退出while循环中的代码功能相同,虽然这个例子还看不出该段代码的优越性,但是当限制while循环的条件多起来之后,这段代码相较于上一段代码的优势就体现出来了。

4.使用break退出循环

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

下面是使用break退出循环的例子:

while True:  #执行循环
    msg = input("Enter 'q' to end the program.\nPlease input a string: ")
    
    if msg != 'q': #用户输入非q时打印用户输入信息
        print('The message you just input is "' + msg + '".')
    else:     #用户输入q时退出循环
        break #退出循环

运行结果如下图所示:

在本例中,while循环一直执行,除非遇到break语句才能退出循环。

5.在循环中使用continue

continue语句的作用是忽略本次循环中continue后面的代码并返回到循环开头,如果条件满足则继续执行循环,否则结束循环。

下面是在循环中使用continue的例子:

num = 1
print('1-10之内的偶数:')
while num <= 10:
    num += 1
    
    if num % 2 != 0:
        continue   #奇数就跳过打印,偶数就执行打印
    print(num)

运行结果如下图所示:

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

要记录大量的信息,需要在while循环中使用列表和字典。for循环是一种遍历列表的有效方式,但在for循环中不应修改列表,否则将导致Python难以跟踪其中的元素,要在遍历列表的同时对其进行修改,可使用while循环。

1.在列表之间移动元素

有时候我们需要将列表中的元素操作一个,然后加入到另一个列表中。

下面是在列表之间移动元素的例子:

list_1 = ['abc', 'def', 'ghi']
list_2 = []
while list_1: #列表非空时一直循环
    element = list_1.pop()
    print(element + ' has popped.')
    
    list_2.append(element)
    
print('与原列表逆序输出:')
for element in list_2:
    print(element)
    
print('与原列表顺序输出:')
length = 1
while length <= len(list_2):
    print(list_2[-length])
    length += 1

运行结果如下图所示:

2.删除列表中所有的特定元素

使用函数remove()即可删除列表中的特定值,如果列表中的特定值有多个相同的话,就要用到while循环来删除了。

下面是删除列表中所有的特定元素的例子:

fruits = ['grape', 'apple', 'watermelon', 'apple', 'orange', 'apple']
print('Before remove:\nfruits = '+str(fruits))

while 'apple' in fruits:
    fruits.remove('apple')  #删除列表中所有的'apple'元素
print('After remove:\nfruits = '+str(fruits))

运行结果如下图所示:

3.使用用户输入来填充字典

可以使用while循环提示用户输入任意数量的信息,根据这些信息可以创建相应的用户字典。

下面是使用用户输入来填充字典的例子:

user_info = {}  #创建一个空字典
sign = True  #标志位置为True
while sign:
    name = input("Please input your name: ")
    favorite_color = input("Please input your favorite color: ")
    
    user_info[name] = favorite_color  #在字典中添加键值对
    
    y_or_n = input("Enter 'n' to end, and other keys to continue.") #询问用户是否继续
    if y_or_n == 'n':
        sign = False  #标志位置为False并退出循环
        
print('user_info = '+str(user_info))  #打印字典

print("Information summary:")  #信息汇总输出
for name, favorite_color in user_info.items():  #遍历字典
    print(name + "'s favorite color is "  + favorite_color + '.')

运行结果如下图所示:

总结:

以上就是Python中用户输入与while循环的所有内容了,用户输入在编程中是非常重要的,因为程序交互性的前提就是获取用户输入并给予响应,此外,while循环中标志、break以及continue的使用场景也应当熟悉。

到此这篇关于Python中用户输入与while循环详情的文章就介绍到这了,更多相关Python 输入与while循环内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python 实现循环最快方式(for、while 等速度对比)

    文章转自微信公众号-Python之禅 众所周知,Python 不是一种执行效率较高的语言.此外在任何语言中,循环都是一种非常消耗时间的操作.假如任意一种简单的单步操作耗费的时间为 1 个单位,将此操作重复执行上万次,最终耗费的时间也将增长上万倍. while 和 for 是 Python 中常用的两种实现循环的关键字,它们的运行效率实际上是有差距的. 比如下面的测试代码: import timeit def while_loop(n=100_000_000):     i = 0     s =

  • python根据用户需求输入想爬取的内容及页数爬取图片方法详解

    本次小编向大家介绍的是根据用户的需求输入想爬取的内容及页数. 主要步骤: 1.提示用户输入爬取的内容及页码. 2.根据用户输入,获取网址列表. 3.模拟浏览器向服务器发送请求,获取响应. 4.利用xpath方法找到图片的标签. 5.保存数据. 代码用面向过程的形式编写的. 关键字:requests库,xpath,面向过程 现在就来讲解代码书写的过程: 1.导入模块 import parsel # 该模块主要用来将请求后的字符串格式解析成re,xpath,css进行内容的匹配 import req

  • Python 不设计 do-while 循环结构的理由

    在某些编程语言中,例如 C/C++.C#.PHP.Java.JavaScript 等等,do-while 是一种基本的循环结构. 它的核心语义是:先执行一遍循环体代码,然后执行一遍条件语句,若条件语句判断为真,则继续执行循环体代码,并再次执行条件语句:直到条件语句判断为假,则跳出循环结构. 流程图如下(Java 示例): // 打印小于 20 的数字 public class Test { public static void main(String[] args){ int x = 10; d

  • python中使用input()函数获取用户输入值方式

    我们编写程序最终目的还是来解决实际问题,所以必然会遇到输入输出的交互问题,python中提供了input函数用来获取用户的输入,我们可以用以下程序演示. user_gender = input("Please enter your gender(F/M):") print(f'Your gender is {user_gender}') 要注意的是在sublime编辑器中不支持input的在线输入,所以我们需要去cmd窗口运行这个程序,结果如下所示: 要注意的是input的返回值是字符

  • python 用户交互输入input的4种用法详解

    用户输入 1.使用input来等待用户输入.如 username = input('username:') password = input('password:') print(username,password) 2.格式化输出 第一种方法:字符串拼接 + (不建议使用,太耗内存) name = input("name:") age = input("age:") skill = input("skill:") salary = input(

  • 学习python 的while循环嵌套

    目录 while 循环嵌套 1 基本架构了解 2 打印一个三角形 2.1 练习打印一个距形 3 while嵌套实现九九乘法表  3.1 练习矩阵打印 总结 while 循环嵌套 1 基本架构了解 今天学习while循环嵌套.我们先看一个例子: i=0 while i<3: print("这是第%d行"%i) j=0 while j<4: print("学python") j+=1 print() i+=1  在上面的代码中,外层循环执行一次,内层循环会执

  • Python 用户输入和while循环的操作

    函数input()的工作原理 函数input()让程序暂停运行,等待用户输入一些文本.获取用户输入后,Python将其存储在一个变量中,以方便使用. prompt="if you tell us who you are , we can personlize the message you see." prompt+="\nWhat is your first name?" name=input(prompt) print("\nHello, "

  • Python实现用户登录并且输入错误三次后锁定该用户

    实现用户登录并且输入错误三次后锁定该用户 我的测试环境,win7,python3.5.1 提示输入用户名,和密码 判断是否被锁定 判断用户名和密码是否匹配 输入错误三次,账号被锁定 思路 代码块 name = 'alex' #正确的用户名 passwd = '123456' #正确的密码 lock_usr = [] #锁定账号列表 for i in range(0,3): usr_name = input("用户名:") usr_passwd = input("密码:&quo

  • Python中用户输入与while循环详情

    目录 一.用户输入 1.输入字符串 2.使用函数int()获取数值输入 3.求模运算符的应用 二.while循环 1.简单的while循环 2.通过用户输入退出while循环 3.使用标志 4.使用break退出循环 5.在循环中使用continue 三.使用while循环处理列表和字典 1.在列表之间移动元素 2.删除列表中所有的特定元素 3.使用用户输入来填充字典 前言: 本文的主要内容是介绍Python中用户输入与while循环,包括如何接收用户输入并进行处理,在程序满足一定的条件时让程序

  • 对Python中的条件判断、循环以及循环的终止方法详解

    条件判断 条件语句是用来判断给定条件是否满足,并根据判断所得结果从而决定所要执行的操作,通常的逻辑思路如下图: 单次判断 形式 if <判断条件>: <执行> else: <执行> 例子 age = int(input("输入你的年龄:")) if age < 18: print("未成年") else: print("已成年") 多次判断 形式 if <判断条件1>: <执行1>

  • Python中实现输入超时及如何通过变量获取变量名

    背景介绍 开发中遇到了一个需求:程序运行到某处时需要用户确认, 但不能一直傻等, 后面的程序不能被一直阻塞, 需要有个超时限制, 也就是这个程序如果在一段时间后还没有得到用户输入就执行默认操作. 解决思路 – 多线程法 我就想到了用多线程的方式, 开启一个子线程用stdin(比如python的input函数)获取用户输入, 主线程里设置线程启动和超时. 创建线程 Python中使用多线程很方便, threading.Threaded(函数, 参数表)然后thread.start就好了. 只是有一

  • Python中实现输入一个整数的案例

    我就废话不多说了,大家还是直接看代码吧! #! usr/bin/python3.5 # -*- coding:utf-8 -*- a = input("请输入一个整数:") #python中input函数输出的是一个字符串,而只有通过int进行强制转换 a = int(a) b = input("请输入一个整数:") b = int(b) """ divmod()函数用法 def divmod(x, y): # known case o

  • Python中LSTM回归神经网络时间序列预测详情

    前言: 这个问题是国际航空乘客预测问题, 数据是1949年1月到1960年12月国际航空公司每个月的乘客数量(单位:千人),共有12年144个月的数据.数据趋势: 训练程序: import numpy as np import pandas as pd import matplotlib.pyplot as plt import torch from torch import nn from torch.autograd import Variable #LSTM(Long Short-Term

  • 对python中的控制条件、循环和跳出详解

    对python中的控制条件.循环和跳出详解 代码缩进(代码块): python用缩进表示代码块,没有其他语言的大括号 缩进是强制检查,整个代码缩进必须一致,否则无法运行 用2.4个空格或者tab缩进 ide自动保证缩进一致 If.elif和else的条件分支: if if...else if...elif..else 没有switch.case语法 空的列表.元祖.字符串.0都被评估为False None被评估为False 控制条件后面必须加":" a=100 if a > 80

  • 在Python中,不用while和for循环遍历列表的实例

    如下所示: a = [1, 2, 3, 8, 9] def printlist(l, index): if index == len(l): return else: print(l[index]) printlist(l, index + 1) printlist(a, 0) *****for和while循环底层用的是递归实现的 以上这篇在Python中,不用while和for循环遍历列表的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python之用户输入的实例

    大多数程序都旨在解决最终用户的问题,为此,需要从用户那里获取一些信息.函数input()让程序暂停运行,等待用户输入一些文本. 例如: name = input("Please intput your name:") print('Hello'+name) 执行结果: 使用int()来获取数值输入 使用函数input()时,Python将用户输入解读为字符串,此时我们需要使用函数int()将数字的字符串转换为数值表示. 例如: age = input("Please intp

  • Python中defaultdict与dict的差异详情

    目录 一.问题描述 二.解决方案 三.结语 本文转自微信公众号:"算法与编程之美", 一.问题描述 在collections模块中的defauldict使用时与dict有何不同,为何我们用dict中的key值不存在时会报错,而defaudict不会报错,下面做出解答. 二.解决方案 以解决遇到的问题用来解答. 代码示例: import collections //引用collections模块 dic=collections.defaultdict(int) //利用模块中的defau

  • 在python中读取和写入CSV文件详情

    目录 前言 1.导入CSV库 2.对CSV文件进行读写 2.1 用列表形式写入CSV文件 2.2 用列表形式读取CSV文件 2.3 用字典形式写入csv文件 2.4 用字典形式读取csv文件 结语 前言 CSV(Comma-Separated Values)即逗号分隔值,一种以逗号分隔按行存储的文本文件,所有的值都表现为字符串类型(注意:数字为字符串类型).如果CSV中有中文,应以utf-8编码读写. 1.导入CSV库 python中对csv文件有自带的库可以使用,当我们要对csv文件进行读写的

随机推荐