首页 > 编程语言 >《python从入门到实践》第五章习题记录

《python从入门到实践》第五章习题记录

时间:2023-07-17 21:01:19浏览次数:34  
标签:elif python alien color 第五章 print got 习题 points

# 在第5章中,你将学习如何使用if语句在不同的条件下采取不同的措施;学习如何将一组较复杂的条件测试组合起来,并在满足特定条件时采取相应的措施。你还将
# 学习如何在遍历列表时,通过使用if语句对特定元素采取特定的措施。
# 第5章 if语句
# 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个。
"""
"""
5-2 更多的条件测试:你并非只能创建10个测试。如果你想尝试做更多的比较,可再编写一些测试,并将它们加入到conditional_tests.py中。对于下面列出
的各种测试,至少编写一个结果为True和False的测试。
检查两个字符串相等和不等。
使用函数lower()的测试。
检查两个数字相等、不等、大于、小于、大于等于和小于等于。
使用关键字and和or的测试。
测试特定的值是否包含在列表中。
测试特定的值是否未包含在列表中。
  else是一条包罗万象的语句,只要不满足任何if或elif中的条件测试,其中的代码就会执行,这可能会引入无效甚至恶意的数据。如果知道最终要测试的条件
,应考虑使用一个elif代码块来代替else代码块。这样,你就可以肯定,仅当满足相应的条件时,你的代码才会执行。
  if-elif-else结构功能强大,但仅适合用于只有一个条件满足的情况:遇到通过了的测试后,Python就跳过余下的测试。这种行为很好,效率很高,让你能
够测试一个特定的条件。
  然而,有时候必须检查你关心的所有条件。在这种情况下,应使用一系列不包含elif和else代码块的简单if语句。在可能有多个条件为True,且你需要在每
个条件为True时都采取相应措施时,适合使用这种方法。
"""
"""
5-3 外星人颜色#1:假设在游戏中刚射杀了一个外星人,请创建一个名为alien_color的变量,并将其设置为'green'、'yellow'或'red'。
编写一条if语句,检查外星人是否是绿色的;如果是,就打印一条消息,指出玩家获得了5个点。
编写这个程序的两个版本,在一个版本中上述测试通过了,而在另一个版本中未通过(未通过测试时没有输出)。
"""
alien_color = "green"
if alien_color == "green":
    print("you got five points")

alien_color = "yellow"
if alien_color =="green":
    print("you got five points")

alien_color = input("please input the colour of alien ")
if alien_color =="green":
    print("you got five points")
else:
    print("you have a false answer ")#这里的answer必须是完完整整的和green一致

# 5-4 外星人颜色#2:像练习5-3那样设置外星人的颜色,并编写一个if-else结构。
# 如果外星人是绿色的,就打印一条消息,指出玩家因射杀该外星人获得了5个点。
# 如果外星人不是绿色的,就打印一条消息,指出玩家获得了10个点。
# 编写这个程序的两个版本,在一个版本中执行if代码块,而在另一个版本中执行else代码块。
alien_color = input("please input the colour of alien ")
if alien_color =="green":
    print("because of you shoot the alien , you got five points")
else:
    print("you got ten points")
print()

# 5-5 外星人颜色#3:将练习5-4中的if-else结构改为if-elif-else结构。
# 如果外星人是绿色的,就打印一条消息,指出玩家获得了5个点。
# 如果外星人是黄色的,就打印一条消息,指出玩家获得了10个点。
# 如果外星人是红色的,就打印一条消息,指出玩家获得了15个点。
# 编写这个程序的三个版本,它们分别在外星人为绿色、黄色和红色时打印一条消息。
alien_color = "green"
if alien_color == "green":
    print("you got 5 points!")
elif alien_color =="yellow":
    print("you got 10 points!")
elif alien_color =="red":
    print("you got 15 points!")

alien_color = "yellow"
print("\nanother test:")
if alien_color == "green":
    print("you got 5 points!")
elif alien_color =="yellow":
    print("you got 10 points!")
elif alien_color =="red":
    print("you got 15 points!")

alien_color = "red"
print("\nanother test:")
if alien_color == "green":
    print("you got 5 points!")
elif alien_color =="yellow":
    print("you got 10 points!")
elif alien_color =="red":
    print("you got 15 points!")


# 5-6 人生的不同阶段:设置变量age的值,再编写一个if-elif-else结构,根据age的值判断处于人生的哪个阶段。
# 如果一个人的年龄小于2岁,就打印一条消息,指出他是婴儿。
# 如果一个人的年龄为2(含)~4岁,就打印一条消息,指出他正蹒跚学步。
# 如果一个人的年龄为4(含)~13岁,就打印一条消息,指出他是儿童。
# 如果一个人的年龄为13(含)~20岁,就打印一条消息,指出他是青少年。
# 如果一个人的年龄为20(含)~65岁,就打印一条消息,指出他是成年人。
# 如果一个人的年龄超过65(含)岁,就打印一条消息,指出他是老年人。
age = int(input("请输入你的年龄:"))
if age < 2:
    print("婴儿。")
elif 2<=age<4:
    print("正蹒跚学步。")
elif 4<=age<13:
    print("儿童。")
elif 13<=age<20:
    print("青少年。")
elif 20<=age<65:
    print("成年人。")
else:
    print("老年人。")

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

# 5-8 以特殊方式跟管理员打招呼:创建一个至少包含5个用户名的列表,且其中一个用户名为'admin'。想象你要编写代码,在每位用户登录网站后都打印一条问候
# 消息。遍历用户名列表,并向每位用户打印一条问候消息。
# 如果用户名为'admin',就打印一条特殊的问候消息,如“Hello admin, would you like to see a status report?”。
# 否则,打印一条普通的问候消息,如“Hello Eric, thank you for logging in again”。
user_list = ["john", "admin", "jack"]
#解法1
for i in user_list:
    if i == user_list[1]:#或 i == "admin"
        print("Hello admin, would you like to see a status report?")
    else:
        print("Hello "+i +", thank you for logging in again")
#解法2
for user in user_list:
    if user == "admin":
        print("Hello %s, would you like to see a status report?"%user)
    else:
        print(f"Hello {user}, thank you for logging in again")

# 5-9 处理没有用户的情形:在为完成练习5-8编写的程序中,添加一条if语句,检查用户名列表是否为空。
# 如果为空,就打印消息“We need to find some users!”。
# 删除列表中的所有用户名,确定将打印正确的消息。
if user_list:
    for user in user_list:
        if user == "admin":
            print("Hello %s, would you like to see a status report?"%user)
        else:
            print(f"Hello {user}, thank you for logging in again")
else:
    print("We need to find some users!")

user_list = []
if user_list:
    for user in user_list:
        if user == "admin":
            print("Hello %s, would you like to see a status report?"%user)
        else:
            print(f"Hello {user}, 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 = ["john", "admin", "jack", "eric", "alice"]
new_users = ["smith", "Eric", "bob", "john", "michael"]
#为考虑大小写
for name in new_users:
    if name in current_users:
        print("需要输入别的用户名")
    else:
        print("此用户名未被使用")
print()
#考虑
for name in new_users:
    name = name.lower()
    if name in current_users:
        print("需要输入别的用户名")
    else:
        print("此用户名未被使用")

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

标签:elif,python,alien,color,第五章,print,got,习题,points
From: https://www.cnblogs.com/zy-can-hold/p/17561210.html

相关文章

  • 《python从入门到实践》第一章习题记录
    """第一章第1章起步1-1python.org:浏览Python主页(http://python.org/),寻找你感兴趣的主题。你对Python越熟悉,这个网站对你来说就越有用。1-2输入错误:打开你刚创建的文件hello_world.py,在代码中添加一个输入错误,再运行这个程序。输入错误会引发错误吗?你能理解显示的错误消......
  • Python 运行 shell 命令的一些方法
    哈喽大家好,我是咸鱼我们知道,python在自动化领域中被广泛应用,可以很好地自动化处理一些任务就比如编写Python脚本自动化执行重复性的任务,如文件处理、数据处理、系统管理等需要运行其他程序或者与操作系统交互的任务那么今天我们来看一下在python中如何运行shell命令来与......
  • python中的@classmethod和@staticmethod的作用
    classA(object):bar=1deffunc1(self):print("foo")@classmethoddeffunc2(cls):print("func2")print(cls.bar)cls().func1()A.func2()@classmethod的作用实际时可以在class内部实例化class。作用就是比u输......
  • python
    #不需要定义变量##while循环:#while条件:#xxx#xxx#for循环:#for临时变量in范围容器(可用range,如果是容器的话,就是遍历,如果in10,就是遍历0-10)#for循环的范围是大于等于第一个小于最后一个,也就是inti=0;i<n;i++#输入......
  • python日志调试
    1.日志logging.debug():最低级别,用于小细节,通常用于在诊断问题时,才会关心谢谢消息logging.info():用于记录程序中一般事件的信息,或确认一切工作正常logging.warning():用于表示可能的问题,它不会阻止程序的工作,但将来可能会logging.error():用于记录错误,它导致程序做某事失败logg......
  • python:基础语法(002)
    python的关键字:#打印python都有哪些关键字importkeywordprint(keyword.kwlist) 缩进:缩进快捷键Tab 多行语句:按回车键即可换行,用\反斜杠也可以换行 python的引号:python中可以使用单引号、双引号、三引号#单引号print('你好')#双引号print("你好")#三引......
  • Python学习——Day 7
    列表·列表需要使用中括号[],元素之间使用英文的逗号进行分隔·列表的创建方式      ·使用中括号      ·调用内置函数list()·列表的特点·列表元素的增加操作#向列表末尾添加一个元素lst=[10,20,30]print('添加元素之前',lst,id(lst))lst.appen......
  • python实现跨域代理服务器
    准备环境python3.7+依赖:aiohttp代码实现(代理服务器,返回响应体和进行跨域处理后的headers)importaiohttpfromfunctoolsimportwrapsfromaiohttpimportwebcorscode={'Access-Control-Allow-Origin':'*','Access-Contr......
  • python爬取之url管理器
    classUrlManager():#url管理器def__init__():#设置新老url数组,分别为未爬取和已爬取self.new_urls=set()self.old_urls=set()defadd_new_url(self,url):#添加单个urlifurlisNoneorlen(url)==0:return......
  • python连接Mysql 1-01
    一,下载对应python环境的MySQL连接包我的是python3所以下载的是这个(cmd)pip3installPyMySQL二,创建py文件编写importpymysql#打开数据库连接db=pymysql.connect(host='localhost',user='root',password='123456',db='test1')#使用cursor()方法创建一个游......