美文网首页Python刻意练习
Python刻意练习 20190522

Python刻意练习 20190522

作者: 黄凯 | 来源:发表于2019-05-22 10:37 被阅读0次

    Python刻意练习 20190522

    # 编写一个可以计算总和的函数:
    # 收到n个数字的列表,返回数字总和
    # 如果未提供参数,则返回数字1..100的总和。
    def sum_numbers(numbers=None): 
      pass
    
    assert sum_numbers() == 5050
    assert sum_numbers([1, 2, 3]) == 6
    
    • 解题思路
      • 判断参数是否为None,如果为True,则计算 range(1,101)的总和
      • 计算numbers 的总和
    def sum_numbers(numbers=None): 
      if numbers == None:
        return sum(range(1,101))
      return sum(numbers)
    
    • 将if语句简化为单行 if else
    def sum_numbers(numbers=None): 
      return sum(numbers) if numbers != None else sum(range(1,101)) 
      # 另一种写法 return sum( range(1,101) if numbers == None else numbers) 
    

    思考

    • C语言,Java等都有三元操作符
    int A,B,C; 
    A=2; 
    B=3; 
    C=A>B ? 100 :200;
    
    • 在Python语言中没有三元操作符 ?: , 可能的原因是Python语言的发明者Guido认为三元操作符可以使用现有语法实现
    • 因此我们使用if else来实现相同功能
    A,B = 2,3
    if A > B:
        C = 100
    else:
        C = 200
    print(C)
    
    • 使用单行 if else
    C = 100 if A > B else 200
    

    相关文章

      网友评论

        本文标题:Python刻意练习 20190522

        本文链接:https://www.haomeiwen.com/subject/gwoezqtx.html