《python编程:从入门到实践的》第五章:if语句的例题代码

每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。Python
根据条件测试的值为True还是False来决定是否执行if语句中的代码。如果条件测试的值为True,
Python就执行紧跟在if语句后面的代码;如果为False,Python就忽略这些代码。

例1:

'''
条件测试 :
检查两个字符串相等和不等。
测试特定的值是否未包含在列表中。
'''
name1 = 'li'
name2 = 'liu'
name3 = 'li'
if name1 != name2:
    print('1和2不同')
    if name1 == name3:
        print('1和3相同')
    else:
        print('1和3不同')
else:
    print('1和2相同')

print('-----------------')
#使用函数 lower() 的测试。
name4 = 'LIU'
if name4.lower() == name2:
    print('2和4相同')

print('-----------------')
#测试特定的值是否包含/未包含在列表中。
num1=['a','s','d']
if 's' in num1:
    print('s在')

if 'q' not in num1:
    print('q不在')

print('-----------------')
#使用关键字 and 和 or 的测试。
n1 = 9
n2 = 3
n3 = 5
if n1 >= 3 and n2 <= 3:
    print('haha')

if n1 > 10 or n3 < 10:
    print('heihei')

例2:

'''
假设在游戏中刚射杀了一个外星人,请创建一个名为 alien_color 的变量,并将其设置为 'green' 、 'yellow' 或 'red' 。
编写一条 if 语句,检查外星人是否是绿色的;如果是,就打印一条消息,指出玩家获得了 5 个点。
编写这个程序的两个版本,在一个版本中上述测试通过了,而在另一个版本中未通过(未通过测试时没有输出)
'''
alien_color = 'red'
if alien_color == 'green':
    print('green获得5点')
if alien_color == 'red':
    print('red获得2点')
print('---------------')

#如果外星人是绿色的,就打印一条消息,指出玩家因射杀该外星人获得了 5 个点。
#如果外星人不是绿色的,就打印一条消息,指出玩家获得了 10 个点。
if alien_color == 'green':
    print('green获得5点')
else:
    print('不是green获得2点')
print('---------------')

#if -elif - else 结构:
#如果外星人是绿色的,就打印一条消息,指出玩家获得了 5 个点。
#如果外星人是黄色的,就打印一条消息,指出玩家获得了 10 个点。
#如果外星人是红色的,就打印一条消息,指出玩家获得了 15 个点。
if alien_color == 'green':
    print('green获得5点')
elif alien_color == 'yellow':
    print('yellow获得10点')
else:
    print('red获得15点')
print('---------------')

#如果一个人的年龄小于 2 岁,就打印一条消息,指出他是婴儿。
#如果一个人的年龄为 2 (含)~ 4 岁,就打印一条消息,指出他正蹒跚学步。
#如果一个人的年龄为 4 (含)~ 13 岁,就打印一条消息,指出他是儿童。
#如果一个人的年龄为 13 (含)~ 20 岁,就打印一条消息,指出他是青少年。
#如果一个人的年龄为 20 (含)~ 65 岁,就打印一条消息,指出他是成年人。
#如果一个人的年龄超过 65 (含)岁,就打印一条消息,指出他是老年人
#else 是一条包罗万象的语句,只要不满足任何 if 或 elif 中的条件测试,其中的代码就会执行,这可能会引入无效甚至恶意的数据。如果知道最终要测试的条件,应考虑使用
#一个 elif 代码块来代替 else 代码块。这样,你就可以肯定,仅当满足相应的条件时,你的代码才会执行。
'''
else 是一条包罗万象的语句,只要不满足任何 if 或 elif 中的条件测试,其中的代码就会执行,这可能会引入无效甚至恶意的数据。如果知道最终要测试的条件,应考虑使用
一个 elif 代码块来代替 else 代码块。这样,你就可以肯定,仅当满足相应的条件时,你的代码才会执行。
'''
age = 20
if age < 2:
    print('婴儿')
elif age >= 2 and age < 4:
    print('正蹒跚学步')
elif age >= 4 and age < 13:
    print('儿童')
elif age >= 13 and age < 20:
    print('青少年')
elif age >= 20 and age < 65:
    print('成年人')
elif age >= 65:
    print('老年人')
print('---------------')

#创建一个列表,其中包含你喜欢的水果,再编写一系列独立的 if 语句,检查列表中是否包含特定的水果。
#将该列表命名为 favorite_fruits ,并在其中包含三种水果。
#编写 5 条 if 语句,每条都检查某种水果是否包含在列表中,如果包含在列表中,就打印一条消息,如 “You really like bananas!”
favorite_fruits = ['苹果','香蕉','橘子']
if '苹果' in favorite_fruits:
    print('苹果')
if '柠檬' in favorite_fruits:
    print('柠檬')
if '橘子' in favorite_fruits:
    print('橘子')
if '草莓' in favorite_fruits:
    print('草莓')
if '香蕉' in favorite_fruits:
    print('香蕉')

例3:

'''
以特殊方式跟管理员打招呼 :创建一个至少包含 5 个用户名的列表,且其中一个用户名为 'admin' 。想象你要编写代码,在每位用户登录网站后都打印一条问
候消息。遍历用户名列表,并向每位用户打印一条问候消息。
如果用户名为 'admin' ,就打印一条特殊的问候消息,如 “Hello admin, would you like to see a status report?” 。
否则,打印一条普通的问候消息,如 “Hello Eric, thank you for logging in again” 。
'''
names = ['zhao','qian','admin','sun','li']
for name in names:
    print('你好,'+name)
    if name == 'admin':
        print('Hello admin, would you like to see a status report?')
    else:
        print(name+',thank you for logging in again')
print('------------------------------------------')

#处理没有用户的情形 :在为完成练习 5-8 编写的程序中,添加一条 if 语句,检查用户名列表是否为空。
#如果为空,就打印消息 “We need to find some users!” 。
#删除列表中的所有用户名,确定将打印正确的消息
name1 = []
if name1:
    print('不为空')
else:
    print('是空的')
print('------------------------------------------')

#检查用户名 :按下面的说明编写一个程序,模拟网站确保每位用户的用户名都独一无二的方式。
#创建一个至少包含 5 个用户名的列表,并将其命名为 current_users 。
#再创建一个包含 5 个用户名的列表,将其命名为 new_users ,并确保其中有一两个用户名也包含在列表 current_users 中。
#遍历列表 new_users ,对于其中的每个用户名,都检查它是否已被使用。如果是这样,就打印一条消息,指出需要输入别的用户名;否则,打印一条消息,指出这个用户名未被使用。
#确保比较时不区分大消息;换句话说,如果用户名 'John' 已被使用,应拒绝用户名 'JOHN'
current_users = ['Aa','bb','cc','dd','Ee']
#将列表current_users中的字符串的元素设置成纯小写,isinstance(s,str)==True是筛选出字符串
L2 = [s.lower() for s in current_users if isinstance(s,str) == True]
new_users = ['zz','aa','22','Bb','33']
for new in new_users:
    if new.lower() in L2:
        print(new+',请输入其他名称')
    else:
        print(new+',名字还没被使用呢')
print('------------------------------------------')

#序数 :序数表示位置,如 1st 和 2nd 。大多数序数都以 th 结尾,只有 1 、 2 和 3 例外。
#在一个列表中存储数字 1~9 。
#遍历这个列表。
#在循环中使用一个 if-elif-else 结构,以打印每个数字对应的序数。输出内容应为 1st 、 2nd 、 3rd 、 4th 、 5th 、 6th 、 7th 、 8th 和 9th ,但每个序数都独占一行
nums = list(range(1,10))
for num in nums:
    if num == 1:
        print('1st')
    elif num == 2:
        print('2nd')
    elif num == 3:
        print('3rd')
    else:
        print(str(num)+'th')

《python编程:从入门到实践的》第六章:字典的例题代码

猜你喜欢

转载自blog.csdn.net/qq_41917061/article/details/108844858