Python 06

作者: Jack_Hsin | 来源:发表于2017-12-08 08:40 被阅读0次

    一. 课上代码

    >>> 3 ** 2
    9
    >>> 3 ** 5
    243
    >>> 3 ** -2
    0.1111111111111111
    >>> not True
    False
    >>> not False
    True
    >>> not 0
    True
    >>> not 4
    False
    >>> 3 < 4 < 5
    True
    
    #优先级问题
    幂运算(**)
    正负号(+, -)
    算数操作符(*, /, //, +, -)
    比较操作符(<, <=, >, >=, ==, !=)
    逻辑运算符(not, and, or)
    

    二. 测试题

    1. 说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
    #not or and的优先级是不同的:not > and > or
    那么给题干加括号:
    (not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
    == 0 or 0 or 4 or 6 or 9
    == 4
    

    三. 动动手

    1. 请写一个程序打印出0~100所有的奇数
    #个人代码
    for i in range(0, 101):
        if i % 2 == 1:
            print(i)
    
    #参考代码
    i = 0
    while i <= 100:
        if i % 2 != 0:
            print(i, end = ' ')
            i += 1
        else:
            i += 1
    
    1. 写一个程序让计算机崩溃
    #个人代码
    while 1:
        print("I love you.")
    
    #参考代码
    print(2 ** 2 ** 32)
    #那为何print((2 ** 2) ** 32)就可以计算出结果呢?
    
    1. 爱因斯坦出过一道数学题,有一个长梯子,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。求解该阶梯至少有多少阶?
    #个人代码
    for i in range(1, 100):
        k = 7 * i
        if k % 2 == 1 and k % 3 == 2 and k % 5 == 4 and k % 6 == 5
            print(k, end = '')
    #此代码不能求出最小值,只能求得范围之内的所有值,有待改进
    
    #参考代码
    x = 7
    i = 1
    flag = 0
    
    while i <= 100:
        if x % 2 == 1 and x % 3 == 2 and x % 5 == 4 and x % 6 == 5:
            flag = 1
        else:
            x = 7 * (i + 1)
        i += 1
        
    if flag == 1:
        print(x)
    else:
        print("There is no answer in this range.")
    

    相关文章

      网友评论

        本文标题:Python 06

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