学习笔记-小甲鱼Python3学习第四讲

发布时间:2019-09-25 08:24:51编辑:auto阅读(1751)

    测试题

    0.请问以下代码会打印多少次“我爱鱼C”?


    while 'C':

        print('我爱鱼C')


    当while语句中条件为真的时候,会无限循环下去。所以“我爱鱼C”会一直打印,可以用CTRL+C来结束循环。


    1.请问以下代码会打印多少次“我爱鱼C”?


    >>> i=10

    >>> while i:

    print('我爱鱼C!')

    i = i - 1


    10次,只有条件为真的时候while语句才会执行下去,当i减为0时,条件变为false,语句不再执行。 


    2.请写出与10<cost<50等价的表达式。


    ( 10 < cost ) and ( cost < 50 )


    3.python3中一行可以写多个语句吗?


    可以,使用“;”隔开。

    举例如:a = 4;c = 5


    4.python3中一个语句可以分为多行书写吗?


    可以。使用反斜杠‘\’或者使用括号分解成几行


    print('I love \

    python')


    >>> ( I love and

         python )


    5.什么是短路逻辑?


    布尔运算符有个有趣的特性:只有在需要求值时才进行求值。举例来说,表达式x and y需要两个变量都为真时才为真,所以如果x为假,表达式就会立刻返回false,而不管y的值(事实上各个语言都有这个特性)。实际上,如果x为假,表达式会返回x得值----否则它就返回y的值。这种行为被称为短路逻辑(short-circuit logic)或惰性求值(lazy evaluaion):布尔运算符通常被称为逻辑运算符,就像你看到的那样第2个值有时“被短路了”。这种行为对于or来说也同样适用。在表达式x or y中,x为真时,它直接返回x的值,否则返回y值。注意,这意味着在布尔运算符之后的所有代码都不会执行。


    逻辑运算符and或or一旦不止一个,其运算规则的核心思想就是短路逻辑。


    表达式从左至右计算,若or的左侧逻辑值为True,则短路or后所有的表达式(不管是and还是or,直接输出or左侧表达式)。

    表达式从左至右计算,若and的左侧逻辑值为False,则短路其后所有and表达式,直到有or出现,输出and左侧表达式到or的左侧,参与接下来的逻辑运算。

    若or的左侧为False,或者and的左侧为True,则不能使用短路逻辑。

    ------------------分割线,哈哈哈-------------------------------

    动动手:


    0.完善第二个改进要求(为用户提供三次机会尝试,机会用完或者用户猜中答案均退出循环)并改进视频中小甲鱼的代码。


    print('--------猜数字--------')

    import random

    secret = random.randint(1,10)

    count = 3

    print('请输入你猜的数字:',end="")

    num = 0

    while num != secret and count>0:

        tmp = input()

        num = int(tmp)

        count = count - 1

        if num == secret:

            print('恭喜,猜对了!')

        else:

            if num > secret:

                print('大了,大了!')

            else:

                print('小了,小了!')

            if count > 0:

                print('请再猜一次:',end="")

            else:

                print('机会用完了!')

    print('游戏结束!')


    1. 打印一列数字

        print('--------打印一列数字-----------')

        tmp = input('请输入一个数字:')

        num = int(tmp)

        i = 1

        while num:

            print(i)

            i = i + 1

            num = num - 1


    运行结果,输入5

    --------打印一列数字-----------

    请输入一个数字:5

    1

    2

    3

    4

    5


    2.打印一组符号

    print('--------打印一组符号-----------')

    tmp = input('请输入组数:')

    fuhao = input('请输入一个符号:')

    num = int(tmp)

    while num:

        print(' ' * num + fuhao * num)

        num = num - 1


    运行结果,输入5

    --------打印一组符号-----------

    请输入组数:6

    请输入一个符号:^

          ^^^^^^

         ^^^^^

        ^^^^

       ^^^

      ^^

     ^


关键字