1. 用户输入
使用函数 input()
可以让程序暂停运行,等待用户输入一些文本,Python在获取用户的输入后,将其存储在一个变量中,以便用户来使用。
当使用 input()
函数时,可以指出需要用户输入的数据是什么,即进行必要的信息提示。
示例:
name = input('请输入你的姓名:')
print('Hello ' + name)
示例输出:
请输入你的姓名:张三
Hello 张三
采用 input()
方法输入的数据,默认以字符串形式存储。如果用户需要输入数字类型,可以采用类型转换的函数(如 int()
实现字符串转换为整形)来实现。
示例:
age = input('请输入你的年龄:')
age = int(age)
if age >= 18:
print('已成年')
else:
print('未成年')
示例输出:
请输入你的年龄:20
已成年
2. if 语句
2.1 简单的if语句
2.1.1 if语句
一般情况下, if
语句主要进行条件的判断。下面这个示例是进行的各种条件判断。
示例
name = 'Zhangsan'
# 判断基本的相等于不等
if name != 'zhangsan':
print(name + ' 不等于 zhangsan')
# 带大小写转换的判断
if name.lower() == 'zhangsan':
print(name.lower() + ' 等于 zhangsan')
# 判断数值
age = 20
if age >= 20:
print(str(age) + '>= 20')
if age < 30:
print(str(age) + '< 30')
# 判断多个条件
age_1 = 20
age_2 = 23
if age_1 <= 25 and age_2 <= 25:
print('两个年龄均小于 25 ')
if age_1 >= 18 or age_2 >= 18:
print('两个年龄,至少有一个已成年')
示例输出:
Zhangsan 不等于 zhangsan
zhangsan 等于 zhangsan
20>= 20
20< 30
两个年龄均小于 25
两个年龄,至少有一个已成年
另外,if语句还可以判断某个值是否在列表中。
示例:
name = ['张三', '李四', '王五', '赵六']
if '张三' in name:
print('张三在 name 列表中')
if '田七' not in name:
print('田七不在 name 列表中')
示例输出:
张三在 name 列表中
田七不在 name 列表中
2.1.2 if-else 语句
经常需要在条件测试通过了时执行一个操作,并在没有通过时执行另一个操作;在这种情况下,可使用Python提供的 if-else
语句。if-else
语句块类似于简单的 if
语句,但其中的else
语句让你能够指定条件测试未通过时要执行的操作。
示例:
age = 17
if age >= 18:
print('你已成年')
else:
print('你未成年')
2.1.3 if-elif-else 语句
经常需要检查超过两个的情形,为此可使用Python提供的 if-elif-else
结构。Python只执行 if-elif-else
结构中的一个代码块,它依次检查每个条件测试,直到遇到通过了的条件测试。测试通过后,Python将执行紧跟在它后面的代码,并跳过余下的测试。
month = 5
if month in [1, 3, 5, 7, 8, 10, 12]:
print(str(month) + ' 月有31天')
elif month in [4, 6, 9, 11]:
print(str(month) + ' 月有30天')
elif month == 2:
print(str(month) + ' 月可能有28天,也可以有29天')
else:
print('该月份错误')
elif 代码块是可以叠加使用的,即任意数量的 elif代码块均可。
末尾的else代码块可以省略。
2.2 if语句与列表
2.2.1 检查特殊元素
使用for循环可以对列表中的元素进行遍历,在遍历的时候,可以对特殊元素进行筛查。
示例:
scores = [100, 98, 59, 60, 78, 99, 57, 63]
flag = 0
for score in scores:
if score <= 60:
flag += 1
print('共有 ' + str(flag) + ' 门课程不及格。')
示例输出:
共有 3 门课程不及格。
在Python中,没有自增或自减(++ 或 --)操作,如果需要对变量 i 进行加一或者减一的操作,可以使用i += 1 (即 i = i + 1 )或者 i -= 1(即 i = i - 1 )实现。
2.2.2 判断列表是否为空
如果列表初始值就是空,那么再执行循环也是无意义的。所以有时需要对列表是否为空进行判断。
示例:
scores = []
flag = 0
if scores:
for score in scores:
if score <= 60:
flag += 1
print('共有 ' + str(flag) + ' 门课程不及格。')
else:
print('暂时没有成绩公布')
示例输出:
暂时没有成绩公布
注意缩进
3. while 语句
for
循环用于针对集合中的每个元素都一个代码块,而 while
循环不断地运行,直到指定的条件不满足为止。
最简单的用法就是设置循环结束的条件。当然循环结束条件也是while循环中不可忽略的,如果条件设置不当,容易造成死循环。
示例:
# 输出前5个姓名
names = ['赵一', '钱二', '孙三', '李四', '周五', '吴六', '郑七', '王九']
num = 0
while num < 5:
print(names[num])
num += 1
示例输出:
赵一
钱二
孙三
李四
周五
while
循环中可以使用 break
关键字来终止循环。
示例:
# 向列表中添加姓名,当输入重复的姓名时,结束
names = []
while True:
name = input('请输入姓名:')
if name in names:
print(names)
break
else:
names.append(name)
示例输出:
请输入姓名:张三
请输入姓名:李四
请输入姓名:王五
请输入姓名:赵六
请输入姓名:张三
['张三', '李四', '王五', '赵六']
while
循环中也可以用 continue
关键字来快速执行下一次循环,即忽略本次循环未执行的后续语句。即 决定是否继续执行循环。
示例:
# 打印20以内的奇数
num = 0
while num < 20:
num += 1
if num % 2 == 0:
continue
else:
print(num)
当然, while
循环也可以和列表、字典等数据类型结合使用。不过具体是使用 while
循环方便,还是使用 for
循环方便,可结合具体实际进行选择。
示例:
# 首先,创建一个待验证用户列表和一个用于存储已验证用户的空列表
unconfirmed_users = ['alice', 'brian', 'candace']
confirmed_users = []
# 验证每个用户,直到没有未验证用户为止
# 将每个经过验证的列表都移到已验证用户列表中
while unconfirmed_users:
current_user = unconfirmed_users.pop()
print("正在验证: " + current_user.title())
confirmed_users.append(current_user)
# 显示所有已验证的用户
print("\n以下用户已验证:")
for confirmed_user in confirmed_users:
print(confirmed_user.title())
示例输出:
正在验证: Candace
正在验证: Brian
正在验证: Alice
以下用户已验证:
Candace
Brian
Alice
参考文献:
[1] Python编程:从入门到实践
如果有帮助,感谢动动小手点个赞 (๑•̀ㅂ•́)و✧❤