Python编程:从入门到实践(第2版)第五章课后题

您所在的位置:网站首页 独一无二的用户名 Python编程:从入门到实践(第2版)第五章课后题

Python编程:从入门到实践(第2版)第五章课后题

2024-07-07 00:27| 来源: 网络整理| 查看: 265

第五章 5.2

练习5-1:条件测试  编写一系列条件测试,将每个测试以及对其结果的预测 和实际结果打印出来。你编写的代码应类似于下面这样:

car = 'subaru' print("Is car == 'subaru'? I predict True.") print(car == 'subaru') print("\nIs car == 'audi'? I predict False.") print(car == 'audi') 详细研究实际结果,直到你明白它为何为True 或False 。创建至少10个测试,且其中结果分别为True 和False 的测试都至少有5 个。 # 测试1 car = 'subaru' print("Is car == 'subaru'? I predict True.") print(car == 'subaru') # 测试2 print("\nIs car == 'audi'? I predict False.") print(car == 'audi') # 测试3 number = 7 print("\nIs number > 5? I predict True.") print(number > 5) # 测试4 print("\nIs number < 3? I predict False.") print(number < 3) # 测试5 name = 'Alice' print("\nIs name == 'Alice'? I predict True.") print(name == 'Alice') # 测试6 print("\nIs name == 'Bob'? I predict False.") print(name == 'Bob') # 测试7 age = 25 print("\nIs age >= 18? I predict True.") print(age >= 18) # 测试8 print("\nIs age < 21? I predict False.") print(age < 21) # 测试9 height = 180 print("\nIs height num2? I predict True.") print(num1 > num2) print("\nIs num1 < num2? I predict False.") print(num1 < num2) print("\nIs num1 >= num2? I predict True.") print(num1 >= num2) print("\nIs num1 10 and value2 < 25? I predict True.") print(value1 > 10 and value2 < 25) print("\nIs value1 < 10 or value2 > 25? I predict False.") print(value1 < 10 or value2 > 25) # 测试特定的值是否包含在列表中 numbers = [1, 2, 3, 4, 5] print("\nIs 3 in numbers? I predict True.") print(3 in numbers) print("\nIs 6 in numbers? I predict False.") print(6 in numbers) # 测试特定的值是否未包含在列表中 print("\nIs 6 not in numbers? I predict True.") print(6 not in numbers) print("\nIs 3 not in numbers? I predict False.") print(3 not in numbers)  5.3

练习5-3:外星人颜色  假设在游戏中刚射杀了一个外星人,请创建一个名为 alien_color 的变量,并将其赋值为'green' 、'yellow' 或'red' 。

编写一条if 语句,检查外星人是否是绿色的。如果是,就打印一条消息, 指出玩家获得了5分。编写这个程序的两个版本,在一个版本中上述测试通过了,而在另一个版 本中未通过(未通过测试时没有输出)。

 

# 版本1:外星人是绿色的 alien_color = 'green' if alien_color == 'green': print("You earned 5 points!") # 版本2:外星人不是绿色的 alien_color = 'yellow' if alien_color == 'green': print("You earned 5 points!")

练习5-4:外星人颜色2  像练习5-3那样设置外星人的颜色,并编写一个if else 结构。

如果外星人是绿色的,就打印一条消息,指出玩家因射杀该外星人获得了5 分。如果外星人不是绿色的,就打印一条消息,指出玩家获得了10分。编写这个程序的两个版本,在一个版本中执行if 代码块,在另一个版本中 执行else 代码块。 # 版本1:外星人是绿色的 alien_color = 'green' if alien_color == 'green': print("You earned 5 points!") else: print("You earned 10 points!") # 版本2:外星人不是绿色的 alien_color = 'yellow' if alien_color == 'green': print("You earned 5 points!") else: print("You earned 10 points!")

 

练习5-5:外星人颜色3  将练习5-4中的if-else 结构改为if-elif-else 结构。

如果外星人是绿色的,就打印一条消息,指出玩家获得了5分。 如果外星人是黄色的,就打印一条消息,指出玩家获得了10分。如果外星人是红色的,就打印一条消息,指出玩家获得了15分。编写这个程序的三个版本,分别在外星人为绿色、黄色和红色时打印一条 消息。 alien_color = 'red' if alien_color == 'green': print("You earned 5 points!") elif alien_color == 'yellow': print("You earned 10 points!") else: print("You earned 15 points!")

 

练习5-6:人生的不同阶段  设置变量age 的值,再编写一个if-elif-else 结构,根据age 的值判断一个人处于人生的哪个阶段。

如果年龄小于2岁,就打印一条消息,指出这个人是婴儿。如果年龄为2(含)~4岁,就打印一条消息,指出这个人是幼儿。如果年龄为4(含)~13岁,就打印一条消息,指出这个人是儿童。如果年龄为13(含)~20岁,就打印一条消息,指出这个人是青少年。如果年龄为20(含)~65岁,就打印一条消息,指出这个人是成年人。如果年龄超过65岁(含),就打印一条消息,指出这个人是老年人。 age = 30 if age < 2: print("This person is a baby.") elif age < 4: print("This person is a toddler.") elif age < 13: print("This person is a child.") elif age < 20: print("This person is a teenager.") elif age < 65: print("This person is an adult.") else: print("This person is an elder.")

 

练习5-7:喜欢的水果  创建一个列表,其中包含你喜欢的水果,再编写一系 列独立的if 语句,检查列表中是否包含特定的水果。

将该列表命名为favorite_fruits ,并在其中包含三种水果。编写5条if 语句,每条都检查某种水果是否包含在列表中。如果是,就打 印一条消息,下面是一个例子。

You really like bananas!

favorite_fruits = ['apple', 'banana', 'orange'] if 'apple' in favorite_fruits: print("You really like apples!") if 'banana' in favorite_fruits: print("You really like bananas!") if 'grape' in favorite_fruits: print("You really like grapes!") if 'watermelon' in favorite_fruits: print("You really like watermelons!") if 'orange' in favorite_fruits: print("You really like oranges!")  5.4

练习5-8:以特殊方式跟管理员打招呼  创建一个至少包含5个用户名的列表, 且其中一个用户名为'admin' 。想象你要编写代码,在每位用户登录网站后都 打印一条问候消息。遍历用户名列表,并向每位用户打印一条问候消息。

如果用户名为'admin' ,就打印一条特殊的问候消息,如下所示。

Hello admin, would you like to see a status report?

否则,打印一条普通的问候消息,如下所示。

Hello Jaden, thank you for logging in again.

usernames = ['admin', 'jaden', 'emma', 'liam', 'ava'] for username in usernames: if username == 'admin': print("Hello admin, would you like to see a status report?") else: print(f"Hello {username.title()}, thank you for logging in again.")

练习5-9:处理没有用户的情形  在为完成练习5-8编写的程序中,添加一条 if 语句,检查用户名列表是否为空。

如果为空,就打印如下消息。

We need to find some users!

删除列表中的所有用户名,确定将打印正确的消息。 usernames = [] if usernames: for username in usernames: if username == 'admin': print("Hello admin, would you like to see a status report?") else: print(f"Hello {username.title()}, thank you for logging in again.") else: print("We need to find some users!")

练习5-10:检查用户名  按下面的说明编写一个程序,模拟网站如何确保每位 用户的用户名都独一无二。

创建一个至少包含5个用户名的列表,并将其命名为current_users 。再创建一个包含5个用户名的列表,将其命名为new_users ,并确保其中 有一两个用户名也包含在列表current_users 中。遍历列表new_users ,对于其中的每个用户名,都检查它是否已被使 用。如果是,就打印一条消息,指出需要输入别的用户名;否则,打印一 条消息,指出这个用户名未被使用。确保比较时不区分大小写。换句话说,如果用户名'John' 已被使用,应 拒绝用户名'JOHN' 。(为此,需要创建列表current_users 的副本, 其中包含当前所有用户名的小写版本。) current_users = ['admin', 'jaden', 'emma', 'liam', 'ava'] new_users = ['ava', 'noah', 'mason', 'jaden', 'lucas'] current_users_lower = [user.lower() for user in current_users] for new_user in new_users: if new_user.lower() in current_users_lower: print(f"Sorry, {new_user} is already taken. Please choose another username.") else: print(f"Congratulations, {new_user} is 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: suffix = 'st' elif number == 2: suffix = 'nd' elif number == 3: suffix = 'rd' else: suffix = 'th' print(f"{number}{suffix}") 5.5

练习5-12:设置 if 语句的格式  审核你在本章编写的程序,确保正确地设置了条件测试的格式。

在编写程序时,确保设置if语句的格式符合PEP 8指南,具体包括:

使用四个空格进行缩进。条件测试后面使用一个空格。使用恰当的空格来使代码更易读。

练习5-13:自己的想法  与刚拿起本书时相比,现在你是一名能力更强的程序 员了。鉴于你对如何在程序中模拟现实情形有了更深入的认识,可以考虑使用程序来解决一些问题了。随着编程技能不断提高,你可能想解决一些问题,请 将这方面的想法记录下来。想想你可能想编写的游戏、想研究的数据集以及想创建的Web应用程序。

编写游戏:尝试编写自己的游戏,可以是文本冒险游戏、简单的射击游戏或者迷你RPG游戏。研究数据集:使用Python来处理和分析数据集,探索数据之间的关系,并进行可视化展示。创建Web应用程序:学习使用Django或Flask等Web框架,搭建自己的网站或Web应用程序,实现个人博客、待办事项列表等功能。开发工具和应用:编写实用的工具和应用程序,解决日常生活中的问题,如密码管理器、天气预报应用等。参与开源项目:贡献代码给开源项目,学习与他人合作、提升编码能力。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3