前两篇:
【毕设记录日记】深度学习|铝型材表面缺陷视觉检测算法:Python基础内容笔记整理1:环境基本注意事项、变量及简单数据类型、列表_SylviaMiller的博客-CSDN博客
【毕设记录日记】深度学习|铝型材表面缺陷视觉检测算法:Python基础内容笔记整理2:数值列表、遍历列表、元组、PEP8代码格式设置指南_SylviaMiller的博客-CSDN博客
1 条件测试
(1)每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。
(2)A=B:给A赋B的值
A==B:检测A是否与B相等
(3)在Python中检查是否相等时会区分大小写,两个大小写不同的值会被视为不相等。
如果大小写无关紧要,只想检查变量的值,可以使用.title()、.upper()、.lower()将变量的值转化再进行比较。
lower()、upper()、title()并不会修改存储在变量中的值,使用后并不会影响原来的变量。
>>>car = 'Audi'
>>>car.lower() == 'audi'
True
>>>car
'Audi'
(4)
检查是否相等 | == |
检查是否不等 | != |
小于 | < |
小于等于 | <= |
大于 | > |
大于等于 | >= |
(5)
使用条件 | |
and | 两个条件都满足,输出为True;其中任意一个不满足,输出为False |
or | 两个条件至少一个满足,输出为True;两个都不满足,输出为False |
(6)
使用条件 | |
in | 判断特定值是否已包含在列表中 |
not in | 判断特定值是否未包含在列表中 |
(7)布尔表达式(Bool)只有两个输出,一个是True,另一个是False
2 if语句
(1)各种使用格式见思维导图if语句部分
(2)在第一行中可以包含任何条件测试,而在紧跟其后被缩进的代码中,可执行任何操作。若条件测试结果为True,Python就会执行紧跟在if语句后的代码,否则Python将会忽略这些代码。
(3)if语句中缩进的作用于for循环中相同
(4)else只要不满足任何if或elif中的条件测试,其中的代码就会执行,这可能会引入无效甚至恶意的数据。如果知道最终要测试的条件,应考虑使用一个elif代码块来代替else代码块,这样只有仅当满足相应条件时才会执行我的代码。
(5)if-elif-else仅适用于只有一个条件满足的情况:遇到通过了的测试后,Python就会跳过余下的测试。所以如果只想执行一个代码块,就使用if-elif-else结构。
如果需要运行多个代码块,就需要使用一系列独立的if语句,检查需要检测的所有条件。此时不管前面的if的测试结果如何,都会执行接下来的全部代码,程序运行时会进行多个独立测试。
3 课后题
具体题目都打在了注释中。
#ex5-1 conditional test_01
car='subaru'
print("Is car=='subaru'?I predict True.")
print(car=='subaru')
print("\nIs car=='audi'?I predict False.")
print(car=='audi')
print("\n")
#ex5-2 conditional test_02
#检查两个字符串相等和不等
string_01='Hello'
string_02='Hi'
print("Is string_01==string_02?I predict False.")
print(string_01==string_02)
#使用函数lower( )测试
print("If I use the lower function for string_01,could I make string_01==string_02?I predict False.")
print(string_01.lower()==string_02)
#检查两个数字相等、不等、大于、小于、大于等于和小于等于
number_01=526
number_02=96
print("Is number_01==number_02?I predict False.")
print(number_01==number_02)
print("Is number_01!=number_02?I predict True.")
print(number_01!=number_02)
print("Is number_01>number_02?I predict True.")
print(number_01>number_02)
print("Is number_01<number_02?I predict False.")
print(number_01<number_02)
print("Is number_01>=number_02?I predict True.")
print(number_01>=number_02)
print("Is number_01<=number_02?I predict False.")
print(number_01<=number_02)
#使用关键字and和or测试
print("Is number_01>500 and number_02>500?I predict False.")
print((number_01>500) and (number_02>500))
print("Is number_01>500 or number_02>500?I predict True.")
print((number_01>500) or (number_02>500))
#测试特定的值是否包含在列表中
items=['good','better','best']
print("Is bad in the items?I predict False.")
print('bad' in items)
print("Is good in the items?I predict True.")
print('good' in items)
#测试特定的值未包含在列表中
print("Is bad not in the items?I predict True.")
print('bad' not in items)
print("\n")
#ex5-3 alien_color
#创建名为alien_color的变量,将其设置为'green','yellow'或'red'
alien_color='green'
#编写一条if语句,检查外星人是否是绿色的;如果是,则打印一条消息,指出该玩家获得了5个点
if alien_color=='green':
print("You got 5 points!")
#检查外星人是否是红色的,要求同上
if alien_color=='red':
print("You got 5 points!")
else:
print("It isn't red!")
print("\n")
#ex5-4 alien_color_2
#编写一条if-else语句,如果外星人是绿色的,就打印一条消息指出玩家因射杀该外星人获得了五个点,若不是则获得10个点
if alien_color=='green':
print("You got 5 points!")
else:
print("You got 10 points!")
print("\n")
#ex5-5 alien_color_3
#编写if-elif-else结构
#如果外星人是绿色的,就打印一条消息指出玩家获得了5个点
if alien_color=='green':
print("You got 5 points!")
#如果外星人是黄色的,就打印一条消息指出玩家获得了10个点
elif alien_color=='yellow':
print("You got 10 points!")
#如果外星人是红色的,就打印一条消息指出玩家获得了15个点
else:
print("You got 15 points!")
print("\n")
#ex5-6 age
#设置变量age的值,再编写一个if-elif-else结构,根据age的值判断处于哪个人生阶段
age=22
#如果一个人年龄小于2岁,则打印消息指出他是婴儿
if age<2:
adj='baby'
#如果一个人年龄为2~4岁,则打印消息指出他是蹒跚学步
elif age<4:
adj='toddle'
#如果一个人年龄为4~13岁,则打印消息指出他是儿童
elif age<13:
adj='children'
#如果一个人年龄为13~20岁,则打印消息指出他是青少年
elif age<20:
adj='young people'
#如果一个人年龄为20~65岁,则打印消息指出他是成年人
elif age<65:
adj='adult'
#如果一个人年龄超过65岁,则打印消息指出他是老人
else:
adj='old man'
print("He is a/an "+adj+".\n")
#ex5-7 favorite_fruits
#创建列表存放喜欢的水果,编写一系列独立if语句,检查列表中是否包含特定水果
#创建列表favorite_fruits,包含三种水果
favorite_fruits=['apple','banana','pineapple']
#编写5条if语句,每条都检查某种水果是否包含在列表中,若包含则打印:“You really like ...!”
if 'apple' in favorite_fruits:
print("You really like apple!")
if 'banana' in favorite_fruits:
print("You really like banana!")
if 'pineapple' in favorite_fruits:
print("You really like pineapple!")
if 'pear' in favorite_fruits:
print("You really like pear!")
if 'cherry' in favorite_fruits:
print("You really like cherry!")
print("\n")
#ex5-8 users
#创建列表,其中至少包含5个用户名,且一个用户名为'admin'
#每位用户登录网站后都打印一条问候信息,遍历用户列表,并向每位用户打印一条问候消息
users=['admin','andy','anna','anne','ann']
for user in users:
#如果用户名为admin,就打印一条特殊问候消息:"Hello admin,would you like to see a status report?"
if user == 'admin':
print("Hello!Admin,would you like to see a status report?")
#否则打印一条普通消息:"Hello!user_name,thank you for logging in again."
else:
print("Hello!"+user.title()+",thank you for logging in again.")
print("\n")
#ex5-9 users_empty
#在ex5-8基础上添加if语句检查列表是否为空
#若列表不为空,则打印正确消息
users=[]
if users:
for user in users:
if user == 'admin':
print("Hello!Admin,would you like to see a status report?")
else:
print("Hello!"+user.title()+",thank you for logging in again.")
#如果列表为空则打印消息:"We need to find some users!"
else:
print("We need to find some users!")
print("\n")
#ex5-10 check_users
#创建一个至少包含5个用户名的列表,并命名为current_users
current_users=['ann','anna','anne','andy','amy','John']
#再创建一个包含5个用户名的列表,将其命名为new_users,并确保其中有一两个用户名也包含在列表current_users
new_users=['ann','amy','ben','benny','coco','JOHN']
#遍历列表new_users,对于其中的每个用户名,都检查是否已被使用
for new_user in new_users:
#若已被使用,则打印一条消息,需要输入其他用户名
if new_user in current_users:
print("Sorry to '"+new_user.title()+"' has been registered!Pls re-enter the user name!")
#确保比较时不区分大小写
elif new_user.title() in current_users:
print("Sorry to '"+new_user+"' has been registered!Pls re-enter the user name!")
elif new_user.lower() in current_users:
print("Sorry to '"+new_user+"' has been registered!Pls re-enter the user name!")
elif new_user.upper() in current_users:
print("Sorry to '"+new_user+"' has been registered!Pls re-enter the user name!")
#若未被使用,则打印一条消息,指出该用户名未被使用
else:
print(new_user.title()+" is not registered.")
print("\n")
#ex5-11 ordinal
#在一个列表中存储数字1~9
numbers=list(range(1,10))
print(numbers)
#遍历列表
for number in numbers:
#在循环中使用一个if-elif-else结构,以打印每个数字对应的序数,输出内容应为1st\2nd\3rd\4th\5th\6th\7th\8th\9th
#每个序数独占一行
if number == 1:
print(str(number)+"st")
elif number == 2:
print(str(number)+"nd")
elif number == 3:
print(str(number)+"rd")
else:
print(str(number)+"th")