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循环内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!