# 用户输入和while循环
# 1、用户输入
# 1.1 函数input()
# 函数input()让当前程序暂停运行,等待用户输入一些文本,获取用户输入后,python将其存储在一个遍历中,以待使用
# 函数input(prompt)接收一个参数,即要向用户显示的提示或说明,让用户知道如何操作
# 但函数input()接收的用户输入都是解读为字符串
# python 2.7使用函数raw_input()来获取用户输入,而python 2.7中的函数input()将用户输入解读为python代码并尝试运行它们。
name = input("请输入您的姓名:");
print("Hello," + name);
# 1.2 函数int()
# 函数 int() 将数字的字符串表示转换为数值表示。
age = input("请输入您的年龄:");
age = int(age); # 将字符串形式的年龄转换成数字类型
if (age > 18): # 对输入的年龄进行判断
print("您已经成年了!");
else:
print("您仍未成年");
# 1.3 求模运算符
# 处理数值信息时,求模运算符( % )是一个很有用的工具,它将两个数相除并返回余数。
# 求模运算符不会指出一个数是另一个数的多少倍,而只指出余数是多少。
# 如果一个数可被另一个数整除,余数就为0,因此求模运算符将返回0。可利用这一点来判断一个数是奇数还是偶数
print(5 % 3); # 余数为2
# 2、while循环
# for 循环用于针对集合中的每个元素都一个代码块,而 while循环不断地运行,直到指定的条件不满足为止。
# 2.1 while循环的简单使用
num = 1;
while num <= 10:
print(num);
num += 1;
# 2.2 break退出循环
# 要立即退出 while 循环,不再运行循环中余下的代码,也不管条件测试的结果如何,可使用break 语句。
# break 语句用于控制程序流程,可使用它来控制哪些代码行将执行,哪些代码行不执行,从而让程序按你的要求执行你要执行的代码。
# 在任何Python循环中都可使用 break 语句。例如,可使用 break 语句来退出遍历列表或字典的 for 循环。
while True:
groups_name = input("如果您想退出,请输入exit:");
if (groups_name == "exit"):
break;
else:
print("您输入了:" + groups_name);
# 2.3 continue继续循环
# 要返回到循环开头,并根据条件测试结果决定是否继续执行循环,可使用 continue 语句,它不像 break 语句那样不再执行余下的代码并退出整个循环。
current_number = 0;
while current_number <= 10:
current_number += 1;
if current_number % 2 == 0: # 判断是否为偶数,如果是偶数就跳出循环回到开头
continue;
print("偶数:" + str(current_number));
# 3、使用while循环来处理列表和字典
# for循环是一种遍历列表的有效方式,但在 for 循环中不应修改列表,否则将导致Python难以跟踪其中的元素。
# 要在遍历列表的同时对其进行修改,可使用 while 循环。
# 通过将 while 循环同列表和字典结合起来使用,可收集、存储并组织大量输入,供以后查看和显示。
# 3.1 在列表之间移动元素
unconfirmed_groups = ["唐僧", "孙悟空", "猪八戒", "沙僧", "小白龙"];
confirmed_groups = []; # 一个未验证通过的列表
while unconfirmed_groups:
user = unconfirmed_groups.pop();
print("待验证的用户:" + user)
confirmed_groups.append(user);
print("已验证的用户:");
for cg in confirmed_groups:
print(cg);
# 3.2 删除包含特定值的所有列表元素
# 如果一个列表中特定值元素出现了多次,可以使用while循环进行删除
names = ["张三", "李四", "张三", "王五", "赵六", "张三"];
print("删除前:");
print(names); # 打印删除前的所有列表元素
while "张三" in names:
names.remove("张三"); # 删除所有张三
print("删除后:");
print(names); # 打印删除后的所有列表元素