zoukankan      html  css  js  c++  java
  • Python编程:从入门到实践——【作业】——第五章(if语句)

    第五章作业

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

    car = ' subaru'
    print("Is car == ' subaru' ? I predict True. ")
    print(car == ' subaru' )
    print("
    Is car == ' audi' ? I predict False. ")
    print(car == ' audi' )
    详细研究实际结果, 直到你明白了它为何为True 或Fal
    

        详细研究实际结果, 直到你明白了它为何为True 或False 。
        创建至少10个测试, 且其中结果分别为True 和False 的测试都至少有5个。

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

    car = ' subaru'
    print("Is car == ' subaru' ? I predict True. ")
    print(car == ' subaru' )
    print("
    Is car == ' audi' ? I predict False. ")
    print(car == ' audi' )
    
    输出:
    Is car == ' subaru' ? I predict True. 
    True
    
    Is car == ' audi' ? I predict False. 
    False

    5-2 略

    5-3 外星人颜色#1 : 假设在游戏中刚射杀了一个外星人, 请创建一个名为alien_color 的变量, 并将其设置为' green' 、 ' yellow' 或' red' 。
            编写一条if 语句, 检查外星人是否是绿色的; 如果是, 就打印一条消息, 指出玩家获得了5个点。
            编写这个程序的两个版本, 在一个版本中上述测试通过了, 而在另一个版本中未通过(未通过测试时没有输出) 。
    5-4 外星人颜色#2 : 像练习 5-3那样设置外星人的颜色, 并编写一个if-else 结构。
            如果外星人是绿色的, 就打印一条消息, 指出玩家因射杀该外星人获得了5个点。
            如果外星人不是绿色的, 就打印一条消息, 指出玩家获得了10个点。
            编写这个程序的两个版本, 在一个版本中执行if 代码块, 而在另一个版本中执行else 代码块。
    5-5 外星人颜色#3 : 将练习 5-4中的if-else 结构改为if-elif-else 结构。
            如果外星人是绿色的, 就打印一条消息, 指出玩家获得了5个点。
            如果外星人是黄色的, 就打印一条消息, 指出玩家获得了10个点。
            如果外星人是红色的, 就打印一条消息, 指出玩家获得了15个点。
            编写这个程序的三个版本, 它们分别在外星人为绿色、 黄色和红色时打印一条消息。
    5-6人生的不同阶段 : 设置变量age 的值, 再编写一个if-elif-else 结构, 根据age 的值判断处于人生的哪个阶段。
            如果一个人的年龄小于2岁, 就打印一条消息, 指出他是婴儿。
            如果一个人的年龄为2(含) ~4岁, 就打印一条消息, 指出他正蹒跚学步。
            如果一个人的年龄为4(含) ~13岁, 就打印一条消息, 指出他是儿童。
            如果一个人的年龄为13(含) ~20岁, 就打印一条消息, 指出他是青少年。
            如果一个人的年龄为20(含) ~65岁, 就打印一条消息, 指出他是成年人。
            如果一个人的年龄超过65(含) 岁, 就打印一条消息, 指出他是老年人。
    5-7 喜欢的水果 : 创建一个列表, 其中包含你喜欢的水果, 再编写一系列独立的if 语句, 检查列表中是否包含特定的水果。
            将该列表命名为favorite_fruits , 并在其中包含三种水果。
            编写5条if 语句, 每条都检查某种水果是否包含在列表中, 如果包含在列表中, 就打印一条消息, 如“You really like bananas!”。

     答:5-3

    alien_color = ['green']
    if 'green' in alien_color:#这个green必须要有''啊
        print('The player gets 5 points.')
    版本2 alien_color
    = ['red'] if 'green' in alien_color: print('The player gets 5 points.'

     5-4

    alien_color = ['green']
    if 'green' in alien_color:#这个green必须要有''啊
        print('The player gets 5 points.')
    else:
        print('The player gets 10 points.')
    
    
    #版本2
    alien_color = ['red']
    if 'green' in alien_color:
        print('The player gets 5 points.')
    else:
        print('The player gets 10 points.')

     5-5

    alien_color = ['green']#其他两个版本就是将green改一下
    if 'green' in alien_color:
        print('The player gets 5 points.')
    elif 'yellow' in alien_color:
        print('The player gets 10 points.')
    elif 'red' in alien_color:
        print('The player gets 15 points.')

    5-6

    age = 25
    if age <2:
        print('他是婴儿。')
    elif age <4:
        print('他正蹒跚学步。')
    elif age < 13:
        print('他是儿童。')
    elif age < 20:
        print('他是青少年。')
    elif age < 65:
        print('他是成年人。')
    else:
        print('他是老年人。')

     5-7略

    5-8 以特殊方式跟管理员打招呼 : 创建一个至少包含5个用户名的列表, 且其中一个用户名为' admin' 。 想象你要编写代码, 在每位用户登录网站后都打印一条问
                候消息。 遍历用户名列表, 并向每位用户打印一条问候消息。
                如果用户名为' admin' , 就打印一条特殊的问候消息, 如“Hello admin, would you like to see a status report?”。
                否则, 打印一条普通的问候消息, 如“Hello Eric, thank you for logging in again”。
    5-9 处理没有用户的情形 : 在为完成练习 5-8编写的程序中, 添加一条if 语句, 检查用户名列表是否为空。
                如果为空, 就打印消息“We need to find some users!”。
                删除列表中的所有用户名, 确定将打印正确的消息。
    5-10 检查用户名 : 按下面的说明编写一个程序, 模拟网站确保每位用户的用户名都独一无二的方式。
            创建一个至少包含5个用户名的列表, 并将其命名为current_users 。
            再创建一个包含5个用户名的列表, 将其命名为new_users , 并确保其中有一两个用户名也包含在列表current_users 中。
            遍历列表new_users , 对于其中的每个用户名, 都检查它是否已被使用。 如果是这样, 就打印一条消息, 指出需要输入别的用户名; 否则, 打印一条消息, 指
            出这个用户名未被使用。
            确保比较时不区分大消息; 换句话说, 如果用户名' John' 已被使用, 应拒绝用户名' JOHN' 。
    5-11 序数 : 序数表示位置, 如1st和2nd。 大多数序数都以th结尾, 只有1、 2和3例外。
          在一个列表中存储数字1~9。
          遍历这个列表。
          在循环中使用一个if-elif-else 结构, 以打印每个数字对应的序数。 输出内容应为1st 、 2 nd 、 3rd 、 4 th 、 5th 、 6th 、 7 th 、 8th 和9th , 但每个序
          数都独占一行。
    答;5-8

    users = ['admin','liming','zhangsan','lisi','wangshi']
    for user in users:
        if user == 'admin':#这里忘了用引号,因为admin是个单字符
            print('Hello ' + user + ',would you like to see a status report?')
        else:#注意else的缩进要和if的一样
            print('Hello ' + user +',thank you for logging in again')

    5-9

    users = []
    if users:#此处我们进行了简单检查, 而不是直接执行for 循环
        for user in users:
            print('Hello ' + user + ',would you like to see a status report?')
        else:#注意else的缩进要和if的一样
            print('Hello ' + user +',thank you for logging in again')
    else:
        print('“We need to find some users!”')
    
    输出;
    “We need to find some users!”

    范的错误的

    users = []
    if user in users:
            print('Hello ' + user + ',would you like to see a status report?')
        else:#注意else的缩进要和if的一样
            print('Hello ' + user +',thank you for logging in again')
    else#此处都标红了
        print('“We need to find some users!”')

     5-10

    current_users = ['admin','liming','zhangsan','lisi','wangshi','douyu','jiangyin','maoanying']
    new_users = ['ergou','lisi','shitou','admin','erya']
    for new_user in new_users:
        if new_user in current_users:
            print(new_user + '已被使用,请需要输入其他用户名!')
        else:
            print(new_user + '未被使用')
    #用没有再print都无所谓啊
    
    输出:
    ergou未被使用
    lisi已被使用,请需要输入其他用户名!
    shitou未被使用
    admin已被使用,请需要输入其他用户名!
    erya未被使用

    5-11

    错误的写法;

    numbers = list(range(1,10))
    print(numbers)
    if numbers < 2:
        print(numbers + 'st')
    if numbers < 4:
        print(numbers + 'rd')
    if numbers <10:
        print(numbers + 'th')
    
    输出:  
      File "C:/Python36/day10/ss.py", line 3, in <module>不支持“列表”和“int”的实例。
        if numbers < 2:
    TypeError: '<' not supported between instances of 'list' and 'int'

    正确的

    numbers = list(range(1,10))
    print (numbers)
    for number in numbers:
        if number == 1:
            print('
    ' + str(number)+'st')#必须用str不然没法比较啊,
        elif number == 2:
            print('
    ' + str(number)+'nd')
        elif number == 3:
            print('
    ' + str(number)+'rd')
        else:
            print('
    ' + str(number)+'th')
    
    
    输出;略

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

    5-12 略

    5-13 想编写坦克大战啊

  • 相关阅读:
    33.数组声明方式(var构造函数) 、检测数组类型、数组的属性(封装好的就一个length)、数组的方法
    31.this指向(写出调用链,找最近对象) this的默认绑定 隐式绑定 显示绑定(call(绑定对象) apply(绑定对象) 当括号内没放绑定对象的时候恢复默认绑定) bind
    31.
    30.函数作用域链 (GO AO 也叫词法作用域链)、 调用栈、调用栈涉及this绑定
    29.包装类(构造函数) 包装类作用及调用栈
    916. Word Subsets
    246. Strobogrammatic Number
    445. Add Two Numbers II
    2. Add Two Numbers
    341. Flatten Nested List Iterator
  • 原文地址:https://www.cnblogs.com/caofu/p/8832851.html
Copyright © 2011-2022 走看看