• 004,改进我们的小游戏


    004,改进我们的小游戏
     python的比较操作符:
    >        左边大于右边  
    >>> 1 < 3
    True
    >>> 1 > 3
    False
    >=    左边大于等于右边
    <        左边小于右边
    <=    左边小于等于右边
    ==    左边等于右边
    !=     左边不等于右边

    条件分支语法:
    if条件:
        条件为真(true)执行的操作
    else:
        条件为假(false)执行的操作
    ps:跟其他语言不同的是,if后面一定要有":"号,条件判断语句一定要“缩进”!(true,false属于布尔类型的值!)

    课中练习:
     1、
    print('猜字谜')
    temp = input ('猜猜我心里想的是什么数字?')
    guess = int (temp)
    if guess == 8:
        print('wtf,你是我心里的蛔虫吗?')
    else:
        if guess > 8:   #注意:缩进
            print('大了大了!!')
        else:
            print('小了小了!!')
    print('游戏结束,又被坑了吧!!')
     
    运行结果:
     
    >>> 
    猜字谜
    猜猜我心里想的是什么数字?8
    wtf,你是我心里的蛔虫吗?
    游戏结束,又被坑了吧!!
    >>> ================================ RESTART ================================
    >>> 
    猜字谜
    猜猜我心里想的是什么数字?9
    大了大了!!
    游戏结束,又被坑了吧!!
    >>> ================================ RESTART ================================
    >>> 
    猜字谜
    猜猜我心里想的是什么数字?6
    小了小了!!
    游戏结束,又被坑了吧!!
    >>> ================================ RESTART ================================
     
    思考:做这个练习的时候没注意第二条件“if guess > 8”,是属于else:范围里面,必须缩进,不然会导致错误语法报错。琢磨了一下加入缩进,问题解决。
     
    2、重复运行。
    while循环
    while条件:
        条件为真(true)执行的操作
     
    print('猜字谜')
    temp = input ('猜猜我心里想的是什么数字?')#guess变量赋值,需放在while前面。
    guess = int (temp)
    while guess != 8:
    #注意缩进!!
        temp = input ('错了错了错了!!')
        guess = int (temp)
        if guess == 8:
            print('wtf,你是我心里的蛔虫吗?')
        else:
            if guess > 8:
                print('大了大了!!')
            else:
                print('小了小了!!')
    print('游戏结束,又被坑了吧!!')
     运行结果:
     
    >>> 
    猜字谜
    猜猜我心里想的是什么数字?5
    错了错了错了!!4
    小了小了!!
    错了错了错了!!6
    小了小了!!
    错了错了错了!!9
    大了大了!!
    错了错了错了!!7
    小了小了!!
    错了错了错了!!8
    wtf,你是我心里的蛔虫吗?
    游戏结束,又被坑了吧!!
    >>> 
     
     3、random模块
    randint(),会返回一个随机的整数。
    利用这个函数来改造我们的游戏
     
    import random #必须在程序的最前面,导入random模块
    secret = random.randint (1,10)#加多一个secret变量,生成一个1-10的随机整数
    print('猜字谜')
    temp = input ('猜猜我心里想的是什么数字?')#guess变量赋值,需放在while前面。
    guess = int (temp)
    while guess != secret: #把之前的8改成secret
    #注意缩进!!
        temp = input ('错了错了错了!!')
        guess = int (temp)
        if guess == secret: #把之前的8改成secret
            print('wtf,你是我心里的蛔虫吗?')
        else:
            if guess > secret: #把之前的8改成secret
                print('大了大了!!')
            else:
                print('小了小了!!')
    print('游戏结束,又被坑了吧!!')
     运行结果:
     >>> 
    猜字谜
    猜猜我心里想的是什么数字?5
    错了错了错了!!6
    大了大了!!
    错了错了错了!!5
    大了大了!!
    错了错了错了!!4
    大了大了!!
    错了错了错了!!3
    大了大了!!
    错了错了错了!!2
    大了大了!!
    错了错了错了!!1
    wtf,你是我心里的蛔虫吗?
    游戏结束,又被坑了吧!!
    >>> 
     ps:程序缺陷:第一次的数字没有提示大了或者小了。
     
    课后练习: 
    测试题:

    0. 请问以下代码会打印多少次“我爱C”  
    while 'C':
        print('我爱C')
     答:无数次循环
    1. 请问以下代码会打印多少次“我爱鱼C!” 
    i = 10
    while i:
        print ('我爱鱼C!')
        i = i - 1
     答:10次
    2. 请写出与 10 < cost < 50 等价的表达式
    (10 < cost) and (cost < 50)
    3. Python3 中,一行可以书写多个语句吗?
    答:可以,用分号隔开,如:>>> print('I love you');print('very much!') 
    4. Python3 中,一个语句可以分成多行书写吗?
    答:可以,用反斜杠,或者括号分解成几行。如:
     >>> 3>4 and
        1<2
    False
    >>> (4>3 and
     5>4)
    True
    >>>  
     6. 听说过“短路逻辑(short-circuit logic)”吗?
     答:逻辑操作符有个有趣的特性:在不需要求值的时候不进行操作。这么说可能比较“高深”,举个例子,表达式 x and y,需要 x 和 y 两个变量同时为真(True)的时候,结果才为真。因此,如果当 x 变量得知是假(False)的时候,表达式就会立刻返回 False,而不用去管 y 变量的值。这种行为被称为短路逻辑(short-circuit logic)或者惰性求值(lazy evaluation),这种行为同样也应用与 or 操作符。

    操作:
    0. 完善第二个改进要求(为用户提供三次机会尝试,机会用完或者用户猜中答案均退出循环)并改进视频中的代码。 
     
    import random
    times = 3
    secret = random.randint (1,10)#随机函数
    print('猜字谜')
    #先给出guess赋值(赋一个绝对不等于secret的值)
    guess = 0
    #print()默认是打印完字符串会自动添加一个换行符,end=" "参数告诉print()用空格代替换行
    print ('猜猜我心里想的是什么数字?', end = ' ')#注意逗号用英文标点
    while (guess != secret) and (times > 0):
        temp = input ()
        guess = int (temp)
        times = times - 1#每输入一次,可用机会就-1
        if guess == secret:
            print('wtf,你是我心里的蛔虫吗?')
        else:
            if guess > secret:
                print('大了大了!!')
            else:
                print('小了小了!!')
            if times > 0:
                print ('再试一次吧:', end = ' ')
            else:
                print('机会用完了,退下吧。')
    print('游戏结束,又被坑了吧!!')
     运行结果: 
     >>> 
    猜字谜
    猜猜我心里想的是什么数字? 5
    小了小了!!
    再试一次吧: 6
    小了小了!!
    再试一次吧: 9
    小了小了!!
    机会用完了,退下吧。
    游戏结束,又被坑了吧!!
    >>> 
     
    2,
     
    temp = input ('请输入一个整数:')
    num = int (temp)
    i = 1
    while num:
        print(i)
        i = i + 1
        num = num - 1
     运行效果:(未理解其中用法) 
    >>> 
    请输入一个整数:10
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    >>> 
     
     3,
     
    temp = input ('请输入一个整数:')
    num = int (temp)
    while num:#循环输入的数字次数,如输入8则执行8次
        i = num - 1#变量i赋值
        while i:#循环i次
            print('  ',end = ' ')#打印结果中的*号前面的空格。
            i = i - 1
        j = num
        while j:
            print('*',end = ' ')#打印结果中的*号
            j = j - 1
        print()#打印完自动添加换行符
        num = num - 1
     运行效果 
    >>> 
    请输入一个整数:8
                         * * * * * * * * 
                      * * * * * * * 
                   * * * * * * 
                * * * * * 
             * * * * 
          * * * 
       * * 

    >>> 
     做下改动, 
    temp = input ('请输入一个整数:')
    num = int (temp)
    while num:#循环输入的数字次数,如输入8则执行8次
        i = num - 1#变量i赋值
        while i:#循环i次
            print('  ',end = ' ')#打印结果中的*号前面的空格。
            i = i - 1
        j = num
        while j:
            print('*',end = ' ')#打印结果中的*号
            j = j - 1
        k = num
        while k:
            print('$',end = ' ')
            k = k - 1
        print()#打印完自动添加换行符
        num = num - 1
     加多一个变量k,然后做循环,看看效果如下: 
    >>> 
    请输入一个整数:8
                         * * * * * * * * $ $ $ $ $ $ $ $ 
                      * * * * * * * $ $ $ $ $ $ $ 
                   * * * * * * $ $ $ $ $ $ 
                * * * * * $ $ $ $ $ 
             * * * * $ $ $ $ 
          * * * $ $ $ 
       * * $ $ 
    * $ 
    >>>
     
     课时小结:
     1、while循环语句及其应用(需加深理解)
    2、 了解输入随机数:import random 和 random.randint ()的含义
    3、and的使用

     

  • 相关阅读:
    最短路+线段交 POJ 1556 好题
    判断线段和直线相交 POJ 3304
    nginx配置pathinfo模式,解决访问404
    使用ORM关联关系,如何自己关联自己
    PHPCMS
    linux安装redis服务,配置PHP扩展
    后台银行卡算法
    静态类和非静态类
    PHP的闭包和匿名函数
    php获取前一天时间段,每个月的第一天到最后一天
  • 原文地址:https://www.cnblogs.com/fishdm/p/3572943.html
Copyright © 2020-2023  润新知