1、 函数input()的工作原理
函数 input() 让程序暂停运行(阻塞程序),等待用户输入一些文本。获取用户输入后,Python将其存储在一个变量中,以方便使用。
name = input('What is your name : ')
print('Welcome ' + name + '!') # 注意这里 name 只存储了你输入的部分,不包括 'What is your name : '
输入‘Howe’后输出是:
函数 input() 接受一个参数:即要想用户显示的提示或说明,让用户知道该如何做。在上面的例子中,'What is your name : ' 就是传入 input() 函数的参数。当程序运行到 input() 函数是,会阻塞在这里,等待用户输入,用户输入完成并按下回车键后,程序才继续运行。
1.1 使用 int() 函数获取数值的输入
在使用 input() 函数是,Python会将用户所有的输入解读为字符串。所以当需要把输入解读为数字时,使用 int() 函数。
number = input('Enter your number what you want : ')
if(number > 10): # 这里的 number 没有转换成数字,不能直接和数字比较,所以会报类型错误
print('The number you enter is greater than 10')
else:
print('The number you enter is less than 10')
报错是:
number = input('Enter your number what you want : ')
if(int(number) > 10):
print('The number you enter is greater than 10')
else:
print('The number you enter is less than 10')
当输入 11 时,输出是:
1.2 求模运算符
处理数值信息时,求模运算符(%)时一个很有用的工具,它将两个数相除并返回余数。
print('4 % 3 = ' + str(4 % 3))
print('5 % 3 = ' + str(5 % 3))
print('6 % 3 = ' + str(6 % 3))
print('7 % 3 = ' + str(7 % 3))
输出是:
2、while 循环简介
for循环用于针对集合中的每个元素的一个代码块,而while循环不断的运行,直到指定的条件不满足为止。在编写程序时除必要情况,应尽量避免出现死循环的情况
2.1 使用 while 循环
number = 1
while number <= 5:
print('number = ' + str(number))
number += 1 # 等价于 number = number + 1
输出是:
如果把上面 while 循环的条件 number <= 5 改为 True ,那么程序会永远在执行 while 循环里面的代码。
2.2 让用户选择合适退出
message = ''
while message != 'quit':
message = input("Enter something what you want: \nWhen you enter 'qiut',the program will exit. ")
print(message)
输出是:
2.3 使用 break 退出循环
message = ''
while True:
message = input("Enter something what you want: \nWhen you enter 'qiut',the program will exit. ")
if message == 'quit':
break
else:
print(message)
这段代码和上面的代码所实现的效果是一样的,只是退出 while 循环的方式不一样。
2.4 在循环中使用 continue
要返回循环的开头,并根据条件测试结果决定是否继续执行循环,可用 continue 语句,它不会像 break 语句那样不再执行余下的代码并退出整个循环。
number = 0
while True:
number += 1
if number % 2 == 0:
print(str(number) + ' % 2 = 0')
continue
elif number > 10:
break
else:
print('number = ' + str(number))
输出是:
3、使用 while 循环来处理列表和字典
3.1 在列表之间移动元素
unconfirmed_users = ['alice', 'brian', 'candace']
confirmed_users = []
while unconfirmed_users:
current_user = unconfirmed_users.pop()
print('Verrfying user: ' + current_user.title())
confirmed_users.append(current_user)
print('\nThe following users have been confirmed:')
for confirmed_user in confirmed_users:
print(confirmed_user.title())
输出是:
3.2 删除包含特定值的所有列表元素
pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
print(pets)
while 'cat' in pets:
pets.remove('cat')
print(pets)
输出是:
3.3 使用用户输入来填充字典
informations = {}
flag = True
while flag:
name = input('\nWhat is your name: ')
age = input('Hello ' + name + '! How old are you? ')
informations[name] = int(age)
repeat = input('Do you want to continue? (yes/no) ')
if repeat == 'no':
flag = False
print('\n----- Result -----')
for name, age in informations.items():
print(name.title() + '`s age is ' + str(age))
输出是: