您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 开发技术 > 正文

从零开始学Python,带你手把手实战之一

发表于:2021-01-08 作者:梁唐 来源:TechFlow

大家好,最近有些小伙伴在后台给我留言说想要一些Python的实战项目,能够动手写下代码来实战练习一下Python。我整理了一下我之前搜集的一些资料以及我个人的一些理解,给大家开设了这个专题。

在这个专题当中我会布置一个简单的小项目,带着大家实际动手实践一下完成这个项目。当然这个难度也是从浅入深的,所以刚开始肯定是新手向,基本面向纯小白。如果你已经有一定编程能力,还请不要嫌弃太简单。

好了,废话不多说,开始进入今天的课题。

课题

今天的课题是用Python实现一个猜数字游戏,所谓的猜数字游戏就是让我们在心里设置一个数字,然后让电脑来猜。每次电脑猜测数字之后,我们会告知电脑猜的数字是高了还是低了,如此循环往复,直到电脑猜出来为止。

要完成这个课题呢,需要了解Python基础的输入输出以及循环的写法,也需要了解二分法。最后完成的效果大概是这样的:

图片

知识点

首先,我们需要给电脑猜测的数字设定一个范围,不然的话,这个程序显然无法运行。这个范围应该是我们输入的,这里就需要用到Python基本的输入输出的用法。

输入

Python的输入比较简单,通过input实现。


  1. x = input() 

这样得到的是屏幕上一整行的内容,不像其他语言一样会根据空格进行分段,Python当中读入都是一整行。

我们也可以给输入加上一些提示符,提示符以字符串的形式传入input中就可以了。


  1. x = input('Please enter a number') 

输出

Python的输出稍稍复杂一点点,通过print函数进行。但是它print有几种print的方法,我们一一分别介绍。

首先是直接输出,Python可以输出一个量也可以输出多个量。如果要输出多个量,可以使用逗号分隔,这些逗号分隔开的量会在输出的时候以空格分开。这些被print的变量可以不是字符串类型,Python会自动调用它们的__repr__方法转化成字符串。


  1. print(3) 
  2. print('hello', 'world') 

第二种方式是通过字符串拼接的方式,在Python当中字符串通过 + 可以拼接在一起,所以我们也可以在print的时候通过 + 把多个变量连接在一起再进行输出。


  1. print('hello ' + 'world') 

但是这里要注意,通过 + 连接的只能是字符串,如果是其他类型的变量会引发报错。

第三种方式是使用format,这种方式我用得比较多,这种方式的好处是print的时候比较清晰,可以输出一些比较复杂格式的结果。


  1. print('{} like {}, but i prefer {}'.format('xiaoming', 'basketball', 'football')) 

也就是说Python会把format中的变量按照顺序填入前面的{}当中。

最后一种方式是format的变体,这种方式只支持Python 3.6及之后的版本。相比于format会更加清晰一些,还是上面的例子,使用format变体就可以写成这样:


  1. he = 'xiaoming' 
  2. sport = ['basketball', 'football'] 
  3. print(f'{he} like {sport[0]}, but i prefer {sport[1]}') 

if-选择语句在Python当中没有switch这种用法,只有if-else一种用法。写出来大概是这样的:


  1. if rule1 and rule2 or rule3: 
  2.     pass 
  3. elif rule4: 
  4.     pass 
  5. else: 
  6.     pass 

在if的后面写上我们要判断的条件,and表示条件的与操作,or表示或操作,还有表示非操作的not。其中and的运算优先级大于or,如果实在记不清的话,可以通过括号来自定义运算顺序。

elif与else都不是必须的,根据实际情况定义。

while-循环

这一次我们还需要用到while循环,while循环的意思也很简单,也就是while关键字后面会跟上一个条件当条件为真实就会一直执行,直到不再为真结束。

写出来就是:


  1. while rule1: 
  2.     pass 

关于break和continue关键字我们也先不讲,等后面用到了再说。

基本上用到的知识点都在这里了,大家不妨亲自动手写写看。实在做不出来或者是遇到的bug调不通也没有关系,在公号后台回复一下python1,我把我写的代码发给你。

本文转载自微信公众号「TechFlow」,作者梁唐。转载本文请联系TechFlow公众号。