文章目录

  • 前言
  • 一、用户输入
    • 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 += 1if 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 + '.')

运行结果如下图所示。


四、猜数字游戏

还记得本书前言中的这个猜数字游戏吗?这个小游戏就是用户输入与while循环结合的例子,是一个简单的人机交互游戏。

下面是自己编写的代码。

import randomsign = True  #标志位置为 True
while sign:number = random.randint(1, 100)  # 随机生成一个1-100内的随机数作为预想数num = input("I'm thinking of a number! Try to guess the number I'm thinking of: ")n = int(num)while n != number:if n < number:n = input("Too low! Guess again: ")n = int(n)elif n > number:n = input("Too high! Guess again: ")n = int(n)y_or_n = input("That's it! Would you like to play again? (yes/no): ")if y_or_n == 'no':  #用户输入no时退出游戏sign = False  #标志位置为 Falseprint("Thanks for playing!")

运行结果如下图所示。

由上面的运行结果可以看到,代码能够按照要求运行并给予用户反馈,能够实现人机交互的功能。


总结

以上就是Python中用户输入与while循环的所有内容了,用户输入在编程中是非常重要的,因为程序交互性的前提就是获取用户输入并给予响应,此外,while循环中标志、break以及continue的使用场景也应当熟悉。
本文参考书目:Python 编程 :从入门到实践 / (美) 埃里克•马瑟斯(Eric Matthes)著;袁国忠译

Python中用户输入与while循环相关推荐

  1. 重温Python基础——用户输入和while循环

    人生苦短,我用Python 序言 函数input()的工作原理 使用int()来获取数值输入 while循环简介 使用break退出循环 在循环中使用continue 避免无限循环 删除为特定值的所有 ...

  2. python输入end退出循环_4.学习python获取用户输入和while循环及if判断语句

    0x00 Abstract 在开发中为了增加程序与用户的互动性需要增加获取用户输入的功能,在python中可以使用input()函数来获取用户的输入.当获取用户的各种输入后,我们需要使用逻辑语句来对数 ...

  3. python学习(字典、用户输入和while循环)

    前言:上次学习到了if语句,这次接着进行学习. 字典 字典能够准确地为各种真实物体建模,且能够将相关信息关联起来. 使用字典 字典是一系列的键--值对,一个建对应一个值,值可以为数字.字符串等 在Py ...

  4. python 循环输入_python入门(用户输入和while循环)

    用户输入和while循环 关于用户输入的事其实我们之前就有提到过,不过没有花时间去细讲,今天我们就花点时间来解决一下它. 首先我们需要知道的是用户输入是什么?顾名思义,用户输入就是指用户需要在输出处输 ...

  5. python用户输入文字_python中用户输入的关键字

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python识别用户输入中的某些关键字,然后导出答案. 例如,用户输入 ther ...

  6. 编写python程序、利用循环输出_Python基础编程—用户输入和while循环

    温馨提示 如果你喜欢本文,请分享到朋友圈,想要获得更多信息,请关注我. 函数input()的工作原理 函数input()让程序暂停运行,等待用户输入一些文本.获取用户输入后,Python将其存储在一个 ...

  7. 用户输入和while循环

    学习如何接受用户输入,例如:假设有人要判断自己是否到了投票的年龄,要编写回答这个问题的程序,就需要知道用户的年龄,这样才能给出答案.因此,这种程序需要让用户输入年龄,再将其与投票年龄进行比较,以判断用 ...

  8. Python中的判断语句及循环

    Python中的判断语句及循环 文章目录 Python中的判断语句及循环 一.判断(if)语句 01. 开发中的应用场景 程序中的判断 判断的定义 02. if 语句体验 2.1 if 判断语句基本语 ...

  9. Python3 基础学习笔记 C06【用户输入和 while 循环】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

最新文章

  1. 《EMCAScript6入门》读书笔记——24.编程风格
  2. 蓝桥杯-11-1实现strcmp函数(java)
  3. Winform中使用FastReport实现简单的自定义PDF导出
  4. boost::coroutine模块实现对称协程的测试程序
  5. [状压dp]洛谷 P2157 学校食堂
  6. java对mysql查询_如何利用java对mysql数据库进行增删改查
  7. 省选+NOI 第五部分 高级数据结构
  8. 如何备份和还原Firefox设置
  9. python删除部分字符串_如何删除python列表中的部分字符串?
  10. [linux-脚本]shebang(shabang #!)
  11. jsp oracle连接池,利用Oracle自带的连接池类的一例
  12. 计算机组成实验八,计算机组成原理实验八内存系统实验
  13. u盘读写测试_aigo U395固态U盘评测,速度可能会吓到你,价格很良心
  14. 【转】关于python中re模块split方法的使用
  15. xshell7官方个人免费版下载
  16. dw注册页面html,在 Dreamweaver 中生成注册页 - Dreamweaver 用户指南
  17. 不用等微信官方!微信圣诞帽,我用Python就能搞定!
  18. C# 实现俄罗斯方块
  19. [ 2204阅读 ] 题型专项 - 句子简化题
  20. 计算机输入设备的作用,认识计算机输入设备—键盘

热门文章

  1. C++无法打开FDB文件
  2. linux驱动程序调试方法
  3. PPP协议和HDLC协议
  4. ANSI/ESD最新标准
  5. mycat 分库分表
  6. 博途TIA Portal WinCC软件版本和功能区别
  7. python 高空坠球_题目:一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第 10 次落 C程序:一球从100米高...
  8. 选择IB课程需要慎重
  9. JS学习笔记(坚持!)
  10. 学习需要的是 韧劲 坚持不懈