Python 程序 可以一直输入 quit_Python小白入门:第六讲||用户输入和while循环

29f4387276ca99e5c590305e979c2c1c.png

大多数程序都旨在解决用户的问题,因此需要从用户那里获取一些信息。而在Python中,函数input()可以解决这个问题。如果你需要用户输入的信息不止一个,可以用while循环不断获取用户输入的信息。while循环让程序不断地运行,直到条件不满足时停止。
在Python2.7中,使用raw_input()来获取输入

在这一讲中,你将学习:

  • 如何在程序中使用input()来让用户提供信息;
  • 如何处理文本和数字输入,以及如何使用while 循环让程序按用户的要求不断地运行;
  • 多种控制while循环流程的方式:设置活动标志、使用break 语句以及使用continue语句;
  • 如何使用while循环在列表之间移动元素
  • 如何从列表中删除所有包含特定值的元素;
  • 如何 结合使用while 循环和字典。

6.1函数input的工作原理

函数input()让程序暂停运行,等待用户输入一些文本。获取用户输入之后,将其存储在一个变量中。

num = input("please enter a number:")print(num)

函数input()接受一个参数:向用户展示的提示或说明(Please enter a number:)让用户知道接下来应该干什么(输入一个数字)。程序等待用户输入,然后代码print(num)将输入的值打印出来

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

首先来看一个例子

b1ba1c99078830368d1f4d88ea141cd7.png

我们向用户提问他的年龄,用户输入21存入到变量age中,当我们输出age时却发现输出的不是一个数字而是一个字符串。当我们尝试将age与另一个数值比较时,却发现报错了。

这是因为Python将21解读为字符串,无法将字符串与整数进行比较。

如何解决这个问题呢?可以用函数int(),它让Python将输入视为数值。

d7f7969cf81daf76d1e55869c4a3189f.png

这时候发现问题已经完美解决

6.1.2求模运算符

求模运算符将两个数相除,并返回余数。

b10a2aab7e4b91120ef46b30d7dc7085.png

不难发现,可以使用求模运算符来判断一个数是奇数还是偶数。

6.2while循环

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

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

首先给变量num赋初值1,然后执行while循环,只要条件满足num<=5,循环将一直执行下去:打印num的值,每次给前一次num的值加一。直到条件不满足时,循环结束。

6.2.1使用标志

在要求很多条件都满足才继续运行的程序中,可定义一个变量,用于判断整个程序是否处于活动状态。这个变量被称为标志

首先定义了一个变量active,用于判断程序是否继续运行。当用户输入quit时,因为active=False,程序将不会继续运行。

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

6.2.2使用break退出循环

如果要立即退出循环,不再运行循环中的其他代码,可使用break语句

active = Truewhile active:        message = input()            if message == 'quit':            break        else:            print(message)

在任何Python循环中都可以使用break语句

6.2.3在循环中使用continue

要返回到循环开头,并根据条件测试结果觉得是否继续执行循环,可使用continue语句。

下面我们看一个例子:从1数到10,打印其中的奇数。

num = 0 while num < 10:        num = num + 1        if num % 2 == 0            continue        print(num)

程序执行while循环,当执行到第十一行代码时,进行条件判断,如果余数为零(偶数),就执行continue,返回到循环开始又一次进行条件判断。并不执行后面的代码。

在程序中要避免无限循环。如果不小心进入了无限循环,可按Ctrl + C ,也可关闭显示程序输出的终端窗口。

6.3使用while循环来处理列表和字典

在此之前,我们都只是处理一项信息:获取用户输入,再将输入打印出来,继续执行用户输入......

要在程序中记录大量数据,需要在while循环中使用字典和列表。

6.3.1在列表之间移动元素

users = ['qimu', 'jack', 'tom']users_0 = []while users:       user_middle = users.pop()       users_0.append(user_middle)for user in users_0:        print(user)

创建两个列表,users中存储了三个名字,user_0是一个空列表,该程序的目的是将users中的元素移到users_0中。中间变量user_middle用于存储删除的元素,随后又将其存储到列表users_0中。因为pop()删除的是列表末尾的元素,所以列表users_0中第一个元素为‘tom'。

6.3.2可以在删除列表中特定元素

当一个元素出现多次,而我们想一次性把它删除时,可以采用while循环执行方法remove()。

users = ['qimu', 'jack', 'tom', 'qimu', 'qimu']print(users)while 'qimu' in users:        users.remove('qimu')print(users)

输出

['qimu', 'jack', 'tom', 'qimu', 'qimu']['jack', 'tom']
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值