python编程从入门到实践(第二版)第五章 课后练习题

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

# 2.定义颜色变量
alien_color = 'red'
# 判断颜色是否是‘green’
if alien_color == 'green':  # 如果颜色是‘greeen’
    print("You just earned 5 points!")  # 第二个程序是‘red’所以没有输出
"""练习5-4  外星人颜色  # 2
像练习5-3那样设置外星人的颜色,并编写一个if-else结构。
1.如果外星人是绿色的,就打印一条消息,指出玩家因射杀该外星人获得了5个点。
2.如果外星人不是绿色的,就打印一条消息,指出玩家获得了10个点。
编写这个程序的两个版本,在一个版本中执行if代码块,而在另一个版本中执行else代码块"""
# 第一版本
alien_color = 'green'  #  定义颜色变量

if alien_color == 'green':  # 1. 如果颜色是‘greeen’
    print("You just earned 5 points!")  # 打印你刚刚得了5分
else:  # 2.反之颜色不是‘greeen’
    print("You just earned 10 points!")  # 打印你刚刚得了10分


# 第二版本
if alien_color != 'green':  # 1. 如果颜色不是‘greeen’
    print("You just earned 10 points!")  # 打印你刚刚得了10分
else:  # 2.反之颜色是‘greeen’
    print("You just earned 5 points!")  # 打印你刚刚得了5分
"""练习5-5  外星人颜色  # 3
将练习5-4中的if-else结构改为if-elif-else结构。
1.如果外星人是绿色的,就打印一条消息,指出玩家获得了5个点。
2.如果外星人是黄色的,就打印一条消息,指出玩家获得了10个点。
3.如果外星人是红色的,就打印一条消息,指出玩家获得了15个点。
编写这个程序的三个版本,它们分别在外星人为绿色、黄色和红色时打印一条消息。
外星人为红色的版本:"""

alien_color = 'red'  # 定义颜色变量

if alien_color == 'green':  # 1.如果外星人是绿色
    print("You just earned 5 points!")  # 打印你刚刚得了5分
elif alien_color == 'yellow':  # 2.如果外星人是黄色
    print("You just earned 10 points!")  # 打印你刚刚得了10分
else:  # 3.反之以上都不成立
    print("You just earned 15 points!")  # 打印你刚刚得了15分
"""练习5-6  人生的不同阶段
设置变量age的值,再编写一个if-elif-else结构,根据age的值判断处于人生的哪个阶段:
1.如果一个人的年龄小于2岁,就打印一条消息,指出他是婴儿。
2.如果一个人的年龄为2(含)~4岁,就打印一条消息,指出他正蹒跚学步(toddler)。
3.如果一个人的年龄为4(含)~13岁,就打印一条消息,指出他是儿童。
4.如果一个人的年龄为13(含)~20岁,就打印一条消息,指出他是少年。
5.如果一个人的年龄为20(含)~65岁,就打印一条消息,指出他是成年人。
6.如果一个人的年龄超过65(含)岁,就打印一条消息,指出他是老年人。"""

age = 15  # 定义年龄变量

if age < 2:  # 1.如果一个人的年龄小于2岁
    print("You're a baby!")  # 打印他是婴儿
elif age == 2 or age < 4:  # 2.如果一个人的年龄为2(含)~4岁
    print("You're a toddler!")  # 打印他正蹒跚学步
elif age == 4 or age < 13:  # 3.如果一个人的年龄为4(含)~13岁
    print("You're a kid!")  # 打印他是儿童
elif age == 13 or age < 20:  # 4.如果一个人的年龄为13(含)~20岁
    print("You're a teenager!")  # 打印他是少年
elif age == 20 or age < 65:  # 5.如果一个人的年龄为20(含)~65岁
    print("You're an adult!")  # 打印他是成年人
else:  # 6.反之年龄超过65(含)岁
    print("You're an elder!")  # 打印他是老年人
"""练习5-7  喜欢的水果
创建一个列表,其中包含你喜欢的水果,再编写一系列独立的if语句,检查列表中是否包含特定的水果。
将该列表命名为favorite_fruits,并在其中包含三种水果。
编写5条if语句,每条都检查某种水果是否包含在列表中,如果包含在列表中,就打印一条消息,如You really like bananas!。"""

# 定义列表【橘子,西瓜,桃子】
favorite_fruits = ['tangerine', 'watermelon', 'peaches']

if 'bananas' in favorite_fruits:  # 如果bananas在列表里面
    print("You really like bananas!")  # 就打印出
if 'apples' in favorite_fruits:  # 如果apples在列表里面
    print("You really like apples!")  # 就打印出
if 'tangerine' in favorite_fruits:  # 如果tangerine在列表里面
    print("You really like tangerine!")  # 就打印出
if 'kiwis' in favorite_fruits:  # 如果kiwis在列表里面
    print("You really like kiwis!")  # 就打印出
if 'peaches' in favorite_fruits:  # 如果peaches在列表里面
    print("You really like peaches!")  # 就打印出
"""练习5-8  以特殊方式跟管理员打招呼
创建一个至少包含5个用户名的列表,且其中一个用户名为'admin'。想象你要编写代码,
在每位用户登录网站后都打印一条问候消息。遍历用户名列表,并向每位用户打印一条问候消息:
如果用户名为'admin',就打印一条特殊的问候消息,如Hello admin, would you like to see a status report?。
否则,打印一条普通的问候消息,如Hello Eric, thank you for logging in again。"""

# 用户名的列表
usernames = ['eric', 'willie', 'admin', 'erin', 'ever']

for username in usernames:  # 遍历列表
    if username == 'admin':  # 如果admin在列表里
        # 打印管理员您好,您想查看状态报告吗
        print("Hello admin, would you like to see a status report?")
    else:  # 反之 打印 临时变量 感谢您再次登录
        print("Hello " + username + ", thank you for logging in again!")
"""练习5-9  处理没有用户的情形
在为完成练习5-8编写的程序中,添加一条if语句,检查用户名列表是否为空。
如果为空,就打印消息We need to find some users!。
删除列表中的所有用户名,核实将打印正确的消息。"""

# 用户名的列表
usernames = ['eric', 'willie', 'admin', 'erin', 'ever']

usernames.clear()  # 清空列表

if usernames:  # 如果列表吧为空(就会执行下面的语句)
    for username in usernames:  # 遍历列表
        if username == 'admin':  # 如果admin在列表里
            # 打印管理员您好,您想查看状态报告吗
            print("Hello admin, would you like to see a status report?")
        else:  # 反之 打印 临时变量 感谢您再次登录
            print("Hello " + username + ", thank you for logging in again!")

else:  # 反之是空的 打印我们需要找到一些用户
    print("We need to find some users!")
"""练习5-10  检查用户名
按下面说的编写一个程序,模拟网站确保每位用户的用户名都独一无二的方式。
1.创建一个至少包含5个用户名的列表,并将其命名为current_users。
2.再创建一个包含5个用户名的列表,将其命名为new_users,并确保其中有一两个用户名也包含在列表current_users中。
3.遍历列表new_users,对于其中的每个用户名,都检查它是否已被使用。如果是这样,就打印一条消息,
  指出需要输入别的用户名;否则,打印一条消息,指出这个用户名未被使用。
4.确保比较是不区分大小写;换句话说,如果用户名'John'已被使用,应拒绝用户名'JOHN'。"""

# 1.创建用户名的列表
current_users = ['eric', 'willie', 'admin', 'erin', 'Ever']

# 2.创建新用户名的列表
new_users = ['sarah', 'Willie', 'PHIL', 'ever', 'Iona']

# 4.把第一个列表的值变成小写后重新定义变量名  (避免重复)列表推导变成小写
current_users_lower = [user.lower() for user in current_users]  

# 3.遍历列表new_users
for new_user in new_users:  # 遍历新用户列表
    if new_user.lower() in current_users_lower:  # 先把新用户名成小写再判断是否出现在第一个列表中
        print("Sorry " + new_user + ", that name is taken.")  # 如果名字出现在第一个列表中就打印名子被用
    else:  # 反之  打印名子可用
        print("Great, " + new_user + " is still available.")
"""练习5-11  序数
序数表示位置,如1st和2nd。大多数序数都以th结尾,只有1、2和3例外。
在一个列表中存储数字1~9。
遍历这个列表。
在循环中使用一个if-elif-else结构,以打印每个数字对应的序数。
输出内容应为1st、2nd、3rd、4th、5th、6th、7th、8th和9th,但每个序数都独占一行。"""

numbers = list(range(1, 10))  # 定义列表

for number in numbers:  # 迭代遍历
    if number == 1:  # 是1就
        print("1st")  # 打印
    elif number == 2:  # 是2就
        print("2nd")  # 打印
    elif number == 3:  # 是3就
        print("3rd")  # 打印
    else:  # 反之就
        print(str(number) + "th")  # 打印(把数字转为字符拼接‘th’)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值