前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2.Python入门到精通

2.Python入门到精通

作者头像
py3study
发布2020-01-15 17:40:45
3930
发布2020-01-15 17:40:45
举报
文章被收录于专栏:python3python3

改进我们的小游戏

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

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

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

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

条件分支

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档