input()函数
该函数让程序暂时停止运行,等待用户输入一些文本。获取用户输入后,Python将其存储进一个变量中,方便使用。
mess=input('Please entry your name: ')
message='Welcome! '+mess+'.'
print(message)
函数input()接受一个参数:即要向用户显示的提示或说明。因此,当使用该函数时,都应该指定清晰而易于理解的提示信息。通过在提示末尾包含一个空格,可以将提示与用户输入分开,让用户清楚其输入始于何处。
当提示内容过多时,可将提示存入一个自增的变量中。最后在函数体内引用便可。
- 获取数值输入
由于input()函数获取到的都成为了文本,所以要进行int()类型转换才可以转换为整型。
age=int(input('How old are you?')
print(18>age)
我们将input函数直接放在int()内,这样age就变成了整型,接下来的条件测试就可以进行了。
while循环
while循环不断地运行,直到指定的条件不满足为止。
而for循环是针对集合中的每个元素,遍历到最后,无法让其中途退出。
所以:当工作量确定的时候可以使用for循环完成重复性工作,当工作量不确定的时候选择while循环。
结合上面的input()函数,我们可以让用户决定何时退出。
prompt='Tell me your favorite food,please!'
prompt+="\nYou can end this by entring 'q'."
message=''
while message!='q':
message=input(prompt)
if message!='q':
print(message)
前两行代码是我们要向用户显示的提示信息,第三行定义一个空字符串变量,用来存储用户的输入。
最后的条件测试语句,是为了避免最后将q输出。
在while循环中,有多样化的退出方式。
-
使用标志退出
在要求很多条件都符合才可以继续运行的程序中,可定义一个变量,用于判断这个程序是否处于活动状态,该变量被称为标志。就是程序的红绿灯。使用方法:在函数体外部定义变量初始值为True,while循环判断变量值为True时就执行程序。内部如果接收到quit命令,就把该变量值更改为False,就结束了while循环。
prompt='Tell me your favorite food,please!'
prompt+="\nYou can end this by entring 'q'."
message=''
sign=True
while sign:
message=input(prompt)
if message!='q':
print(message)
else:
sign=False
如果输入的值为q,就将变量sign的值改为False,从而推出循环。
- 使用break语句退出循环
要立即退出while循环,不再运行余下的代码,也不管条件测试的结果如何,可以使用该语句。
prompt='Tell me your favorite food,please!'
prompt+="\nYou can end this by entring 'q'."
message=''
sign=True
while sign:
message=input(prompt)
if message=='q':
break
else:
print(message)
在任何Python循环中都可以使用break语句。例如,使用它退出遍历列表或字典的for循环。
- 使用continue语句
要返回循环开头,并根据条件测试结果决定是否继续执行循环,可使用该语句。
break语句是跳出当前循环。continue是跳过当前循环。二者的区别:前者是本循环直接结束,后者是跳过循环体中该语句后面的代码,返回循环头,继续执行下一次循环。
我们要输出0到10中的奇数,可以使用该语句。
number=0
while number<10:
number+=1#每次自增一
if number%2==0:#如果数字为偶数
continue#就跳过后面的语句,直接回到开头
print(number)
while循环与列表、字典
此前,我们使用for循环来遍历列表与字典,但在该循环中不应修改列表,否则难以跟踪其中的元素(for循环是按照下标遍历的,如果列表中的元素减少或增加,可能导致部分元素没有被遍历)。
需要在遍历列表的同时对其进行修改,可以使用while循环。
pets=['dog','cat','dog']
while 'dog' in pets:#当dog在列表中
pets.remove('dog')#删除dog
print(pets)