2.Python入门到精通

发布时间:2019-06-21 17:36:01编辑:auto阅读(1765)

    改进我们的小游戏

    概有以下几个方面需要改进:

    猜错的时候程序应该给点提示,例如告诉用户输入的值是大了还是小了。

    每运行一次程序只能猜一次,应该提供多次机会给用户猜测。

    每次运行程序,答案可以是随机的。因为程序答案固定,容易导致答案外泄。

    条件分支

    第一个改进要求:猜错的时候程序提示用户当前的输入比答案大了还是小了。

    Python 的比较操作符

    >左边大于右边

    >=左边大于等于右边

    <左边小于右边

    <=左边小于等于右边

    ==左边等于右边

    !=左边不等于右边

    Python的条件分支语法:

    if 条件 :

     条件为真(True)执行的操作

    else:

     条件为假(False)执行的操作

    while循环


    第二个改进要求:程序应该提供多次机会给用户猜测,专业点来讲就是程序需要重复运行某些代码。

    请用红笔圈出你认为需要进行循环的代码:

    print('------------------------------------')

    temp = input("不妨猜一下我现在心里想的是哪个数字:")

    guess = int(temp)

    while guess!==8:

    temp=input("猜错了,请重新输入:")

    guess=int(temp)

    if guess == 8:

        print("我草,你是我心里的蛔虫吗?!")

        print("哼,猜中了也没有奖励!")

    else:

        if guess>8:

            print("哥,大了")

        else:

            print("小了")

    print("游戏结束,不玩啦^_^")


    while循环

    Python的While循环语法:

    while 条件 :

        条件为真(True)执行的操作

    这里我们给大家的提示是:使用and逻辑操作符

    Python的and逻辑操作符可以将任意表达式连接在一起,并得到一个布尔类型的值。

    >>> 3>2 and 3>4

    False

    >>> 3>2 and 3<4

    True

    >>> (3>2) and (3<4)

    True

    >>> 

    引入外援


    第三个改进要求:每次运行程序产生的答案是随机的。

    我们需要引入外援:random模块

    这个random模块里边有一个函数叫做:randint(),Ta会返回一个随机的整数。

    我们可以利用这个函数来改造我们的游戏!

    import random

    secret = random.randint(1,10)

    print('****************小游戏******************')

    temp = input("不妨猜一下我现在心里想的是哪个数字:")

    guess = int(temp)

    while guess != secret:

        temp = input("哎呀,猜错了,请重新输入吧:")

        guess = int(temp)

        if guess==secret:

            print("我想什么你都知道?")

            print("哼,猜中了也没有奖励!")

        else:

            if guess > secret:

                print("哥,大了")

            else:

                print("嘿,小了")

    print("游戏结束,不玩啦")


    闲聊之Python的数据类型

    整型

    布尔类型

    浮点型

    E记法

    >>> a=0.0000000000000000025

    >>> a

    2.5e-18

    >>> 1500000000000

    1500000000000

    >>> 1.5E11

    150000000000.0

    >>> 15E10

    150000000000.0

    >>> 1.5e4

    15000.0

    >>> True + True

    2

    >>> True + False

    1

    >>> 

    数据转换

    >>> a="520"

    >>> b=int(a)

    >>> b

    520

    >>> b=int("小明")

    Traceback (most recent call last):

      File "<pyshell#11>", line 1, in <module>

        b=int("小明")

    ValueError: invalid literal for int() with base 10: '小明'

    >>> a=5.99

    >>> c=int(a)

    >>> c

    5

    >>> a="520"

    >>> b=float(a)

    >>> b

    520.0

    >>> a=520

    >>> b=float(a)

    >>> b

    520.0

    >>> a=5.99

    >>> b=str(a)

    >>> b

    '5.99'

    >>> c=5e10

    >>> b=str(c)

    >>> b

    '50000000000.0'

    >>> 

    >>> str="I Love Python"

    >>> str

    'I Love Python'

    >>> c=str(3)

    Traceback (most recent call last):

      File "<pyshell#29>", line 1, in <module>

        c=str(3)

    TypeError: 'str' object is not callable

    >>> 

    获得关于类型的信息

    type()

    isinstance()

    >>> a="520"

    >>> type(a)

    <class 'str'>

    >>> type(5.2)

    <class 'float'>

    >>> type(1)

    <class 'int'>

    >>> type(True)

    <class 'bool'>

    >>> a="520"

    >>> isinstance(a,str)

    True

    >>>isinstance(a,int)

    False


关键字