Python课本第五章课后习题选做

5-2 更多的条件测试 :你并非只能创建 10 个测试。如果你想尝试做更多的比较,可再编写一些测试,并将它们加入到 conditional_tests.py 中。对于下面列出的各种测试,至少编写一个结果为 True 和 False 的测试。
    a. 检查两个字符串相等和不等。
    b. 使用函数 lower() 的测试。
    c. 检查两个数字相等、不等、大于、小于、大于等于和小于等于。
    d. 使用关键字 and 和 or 的测试。
    e. 测试特定的值是否包含在列表中。
    f. 测试特定的值是否未包含在列表中。
print( 'Hello' == 'Hello' )
print( 'Hello' == 'hello' )
print( 'Hello' != 'Hello' )
print( 'Hello' != 'hello' )

print( 'Hello'.lower() == 'hello' )

print( 1 == 1 )
print( 1 == 2 )
print( 1 != 1 )
print( 1 != 2 )
print( 1 > 1 )
print( 1 <= 1 )
print( 1 < 2 )
print( 1 >= 2 )

print( 1+1 < 4 and 5-1 <= 4 )
print( 1 == 1 and 1 == 2 )
print( 1 == 1 or 1 == 2 )
print( 1+1 > 4 and 5-1 != 4 )

li = [ 1, 2, 3 ]
print( 1 in li )
print( 4 in li )
print( 4 not in li )
True  
False 
False 
True  
True  
True  
False 
False 
True  
False 
True  
True  
False 
True  
False 
True  
False 
True  
False 
True  
5-6 人生的不同阶段 :设置变量 age 的值,再编写一个 if-elif-else 结构,根据 age 的值判断处于人生的哪个阶段。
    a. 如果一个人的年龄小于 2 岁,就打印一条消息,指出他是婴儿。
    b. 如果一个人的年龄为 2 (含)~ 4 岁,就打印一条消息,指出他正蹒跚学步。
    c. 如果一个人的年龄为 4 (含)~ 13 岁,就打印一条消息,指出他是儿童。
    d. 如果一个人的年龄为 13 (含)~ 20 岁,就打印一条消息,指出他是青少年。
    e. 如果一个人的年龄为 20 (含)~ 65 岁,就打印一条消息,指出他是成年人。

    f. 如果一个人的年龄超过 65 (含)岁,就打印一条消息,指出他是老年人。

ages = [ 1, 2, 4, 13, 20, 65 ]

for age in ages:
    if age < 2:
        print('He is a baby.')
    elif age < 4:
        print('He is learing to walk.')
    elif age < 13:
        print('He is a child.')
    elif age < 20:
        print('He is a teenager.')
    elif age < 65:
        print('He is a adult.')
    else:
        print('He is a old man.')
He is a baby.
He is learing to walk.
He is a child.
He is a teenager.
He is a adult.
He is a old man.
5-7 喜欢的水果 :创建一个列表,其中包含你喜欢的水果,再编写一系列独立的 if 语句,检查列表中是否包含特定的水果。
    a. 将该列表命名为 favorite_fruits ,并在其中包含三种水果。
    b. 编写 5 条 if 语句,每条都检查某种水果是否包含在列表中,如果包含在列表中,就打印一条消息,如 “You really like bananas!” 。
favorite_fruits = [ 'bananas', 'apples', 'pears' ]

if 'bananas' in  favorite_fruits:
     print('You really like bananas!')
if 'apples' in  favorite_fruits:
     print('You really like apples!')
if 'pears' in  favorite_fruits:
     print('You really like pears!')
if 'grapes' in  favorite_fruits:
     print('You really like grapes!')
if 'watermelons' in  favorite_fruits:
     print('You really like watermelons!')
You really like bananas!
You really like apples!
You really like pears!
5-8 以特殊方式跟管理员打招呼 :创建一个至少包含 5 个用户名的列表,且其中一个用户名为 'admin' 。想象你要编写代码,在每位用户登录网站后都打印一条问候消息。遍历用户名列表,并向每位用户打印一条问候消息。
    a. 如果用户名为 'admin' ,就打印一条特殊的问候消息,如 “Hello admin, would you like to see a status report?” 。
    b. 否则,打印一条普通的问候消息,如 “Hello Eric, thank you for logging in again” 。
users = [ 'admin', 'cindy', 'candy', 'dancy', 'dandy' ]

for user in users:
    if user == 'admin':
        print('Hello admin, would you like to see a status report?')
    else:
        print('Hello {}, thank you for logging in again'.format(user))
Hello admin, would you like to see a status report?
Hello cindy, thank you for logging in again
Hello candy, thank you for logging in again
Hello dancy, thank you for logging in again
Hello dandy, thank you for logging in again
5-11 序数 :序数表示位置,如 1st 和 2nd 。大多数序数都以 th 结尾,只有 1 、 2 和 3 例外。
    a. 在一个列表中存储数字 1~9 。
    b. 遍历这个列表。
    c. 在循环中使用一个 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( str(num) + 'st' )
    elif num == 2:
        print( str(num) + 'nd' )
    elif num == 3:
        print( str(num) + 'rd' )
    else:
        print( str(num) + 'th' )
1st
2nd
3rd
4th
5th
6th
7th
8th
9th









  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值