2020-2-2 Python基础学习5

  • python基础学习

  • python基础5

  • python基础6

  • 美赛论文

改进之前的小游戏

改进思路:用户提示,多次机会,答案随机

条件分支
1.逻辑符号:
在这里插入图片描述

>>> 4>2
True
>>> 2 < 2
False
>>> 1==2
False
>>> 1 != 1
False

2.If else语句
IF语句

print('------------------给我爬---------------')
teep = input ("猜一下心里想的是哪个数字")
guess = int (teep)
if guess == 8:
    print ("666")
else:
    if guess > 8:
        print("bigger than it")
    else:
        print('smaller')
print('GAME OVER')

仅能循环一次
3.while语句

在这里插入图片描述

print('------------------给我爬---------------')
teep = input ("猜一下心里想的是哪个数字")
guess = int (teep)
while guess != 8:
    teep = input ("input again")
    guess = int (teep)
    if guess == 8:
        guess = int (teep)
    if guess == 8:
        print ("666")
    else:
        if guess > 8:
            print("bigger than it")
        else:
            print('smaller')
print('GAME OVER')

循环一直进行没有猜对没有跳出

  • and逻辑操作符(且运算)

4.random模块
randint()——返回一个随机整数
让被猜的数字随机生成

import random
secret = random.randint(1,10)
print('------------------给我爬---------------')
teep = input ("猜一下心里想的是哪个数字")
guess = int (teep)
while guess != secret:
    teep = input ("input again")
    guess = int (teep)
    if guess == secret:
        guess = int (teep)
    if guess == secret:
        print ("666")
    else:
        if guess > secret:
            print("bigger than it")
        else:
            print('smaller')
print('GAME OVER')

课后习题:

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

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

  3. Python3 中,一行可以书写多个语句吗?
    可以,使用分隔符分隔开就行。

4.Python3 中,一个语句可以分成多行书写吗?
可以,一行过长的语句可以使用反斜杠或者括号分解成几行,不妨试试:

3 > 4 and
1 < 2

5.【该题针对有C或C++基础的朋友】请问Python的 and 操作符 和C语言的 && 操作符 有何不同?
逻辑运算,都是短路求值,不同在于C中返回的始终是逻辑值,而python中返回的是实际的对象

  • C中是进行逻辑运算,所以返回的值为1和0
  • python里,返回的是数值
    当and 前后均为真的时候,返回的是and 后面的值或者字符串
    当 and前后有一个为假的时候,返回的是表示“假”的值或者字符串
    若均为假的时候,则返回的是and前的值或者字符串
    PS:有非零值,无论正负,均为真
    短路求值:作为"&&“和”||"操作符的操作数表达式,这些表达式在进行求值时,只要最终的结果已经可以确定是真或假,求值过程便告终止,这称之为短路求值(short-circuit evaluation)

6.短路逻辑
逻辑操作符有个有趣的特性:在不需要求值的时候不进行操作。这么说可能比较“高深”,举个例子,表达式 x and y,需要 x 和 y 两个变量同时为真(True)的时候,结果才为真。因此,如果当 x 变量得知是假(False)的时候,表达式就会立刻返回 False,而不用去管 y 变量的值。

这种行为被称为短路逻辑(short-circuit logic)或者惰性求值(lazy evaluation),这种行为同样也应用与 or 操作符,这个后边的课程小甲鱼会讲到,不急。

实际上,Python 的做法是如果 x 为假,表达式会返回 x 的值(0),否则它就会返回 y 的值(例子参考楼上那题)。

7.完善第二个改进要求(为用户提供三次机会尝试,机会用完或者用户猜中答案均退出循环)并改进视频中小甲鱼的代码。
第一次改进:(第一次输入后也会进行提示,第一次输对了有恭喜语句)

import random
secret = random.randint(1,10)
print('------------------给我爬---------------')
#输入猜测数值#
teep = input ("猜一下心里想的是哪个数字")
guess = int (teep)

if guess == secret:
    print('LUCKY GUY')
else:
#对一次输入的数值给出提示#
    if guess > secret:
        print("bigger than it")
    else:
        print('smaller')
#提示循环#
    while guess != secret:
        teep = input ("input again")
        guess = int (teep)
        if guess == secret:
            guess = int (teep)
        if guess == secret:
            print ("666")
        else:
            if guess > secret:
                print("smaller")
            else:
                print('bigger than that')
print('GAME OVER')

第二次改进(为用户提供三次机会尝试,机会用完或者用户猜中答案均退出循环)

import random
secret = random.randint(1,10)
print('------------------给我爬---------------')
#输入猜测数值#
teep = input ("猜一下心里想的是哪个数字")
guess = int (teep)

if guess == secret:
    print('LUCKY GUY')
else:
#对一次输入的数值给出提示#
    if guess > secret:
        print("bigger than it")
    else:
        print('smaller')
#提示循环#
    i=1
    while guess != secret and i<3:
        teep = input ("input again")
        guess = int (teep)
        i=i+1
        if guess == secret:
            print ("666")
        else:
            if guess > secret:
                print("smaller")
            else:
                print('bigger than that')
print('GAME OVER')

加入了计数的i,限制次数

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值