萌妹子Python入门指北(四)

简介: 1.if可以嵌套for吗?可以嵌套while循环吗? 2.难道只能嵌套两层吗?3层 4层 5层可不可以? 一般的文章在这个时候会告诉大家『这里我就不公布答案了,大家可以去尝试下』,然而我这里我偏要告诉大家答案很明显都是yes yes,你试不试就和我无关了。

这个系列其实是想给非计算机专业的人一个python的入门指导,已经写了3篇,这篇拖了好久了。我开始觉得学编程真的很难,计算机有些方面的知识真是常人所不能理解的,仅仅靠这几篇文章肯定是做不到入门的,如果各位真想学python,还是希望各位能去看更多python的例子,当然我这个系列的文章还是会继续写下去的,我尽自己可能不让本系列变成《python从入门到放弃》。

 在上一篇文章中我们讲到了选择和循环,这次我来讲下选择和循环语句更高级的用法。提前剧透下,本次课程没有新内容,只是对上篇文章的回顾和进阶,选择和循环语句的嵌套使用。

 首先我们来举个例子说明循环语句是如何嵌套判断语句的。 我这里抛出一个简单的问题————输入1-9里面所有能被3整除的数!如果你程序写对了,很明显只会在屏幕上输出 3 6 9这3个数字。当然,这是后话,我们先来看看怎么写代码实现这个功能吧! 首先程序如何判断一个数能否被3整除,还记得整除的概念吗?就是除完后没有余数(更确切的说是余数为0),在第二篇文章中我们已经介绍过一个求余数的运算符号了 %,只要n%3==0,那么n肯定是可以被3整除的,代码如下。


if n%3 == 0:   #如果n除以3余数是0
    print n    #那么输出n


 接下来我们需要做的就是把n从1循环到9了,还记得循环的语法是什么样的吗?


for n int range(1,10):
    if n%3 == 0:
        print n


 多层循环嵌套,我觉得最好的例子就是乘法表了,想想看我们小学学的成乘法表是什么样的? 第一行是1到1,第二行 1到2……第8行 1到8,第n行是1到n,其实每一行就是一个1-n的循环。每一行的循环代码如下


for i in range(1,10): #这是第9行的循环
    ...               #这里暂时省略具体内容


 我们只需要在上面加一层对于行的循环就可以了,我猜如果你没学过编程的话,这个地方肯定很难理解咯。哎,看我我也没办法,只能奉上一句心灵鸡精『多思考』。 所以我们来看99乘法表的具体代码。


for i in range(1,10):       #这里是从1到9行
    for j in range(1, i+1): #这里是每行的内容,第i行的内容只是从1到i而已。 
        print (i*j)


 如果你自己运行了这段代码,你可能会感觉我在骗你,你们家乘法表张这样?果然你们程序员没一个好东西。。。 等等,你仔细看看,是不是所有算出来的数字都对了,只不过一行只有一个数字。原谅我这个地方在之前的文章中没有讲到,这里我就稍带提一下,python输出的时候默认都是要换行的,你只需要在print语句后面加个逗号 , 就不会换行了, 但要注意,每输出乘法表的一行是需要换一行的,所以还需要额外的一个print语句,改进后的代码如下。


for i in range(1,10):     
    for j in range(1, i+1): 
        print (i*j),        #注意这里只比原来多了一逗号,英文的逗号
    print ""                #绝对注意这要和上面的for对齐,你可以试试不和for对齐会怎么样(偷笑)


 给大家看个输出内容和99乘法表一毛一样的代码,这里涉及到了python的格式化输出,我暂时不决定讲这个内容,有兴趣可以自己了解下。 我们先看效果,再看代码。

 


1*1=1 
1*2=2 2*2=4 
1*3=3 2*3=6 3*3=9 
1*4=4 2*4=8 3*4=12 4*4=16 
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81


 代码如下

for i in range(1,10):
    for j in range(1, i+1):
        print ("%d*%d=%d"%(j,i,i*j)),  #格式化输出在这里实现。
    print ""


 告诉大家一个不幸的消息,本篇文章内容到这里就结束了,最后再抛几个问题给大家思考下。

 1.if可以嵌套for吗?可以嵌套while循环吗?

 2.难道只能嵌套两层吗?3层 4层 5层可不可以?

 一般的文章在这个时候会告诉大家『这里我就不公布答案了,大家可以去尝试下』,然而我这里我偏要告诉大家答案很明显都是yes yes,你试不试就和我无关了。

目录
相关文章
|
2天前
|
数据可视化 API Python
Python零基础“圣经”!300W小白从入门到精通首选!
今天分享的这本书在让你尽快学会 Python基础知识的同时,能够编写并正确的运行程序(游戏、数据可视化、Web应用程序) 最大的特色在于,在为初学者构建完整的 Python 语言知识体系的同时,面向实际应用情境编写代码样例,而且许多样例还是 后续实践项目部分的伏笔。实践项目部分的选题经过精心设计,生动详尽 又面面俱到。相信这本书能够得到更多 Python 初学者的喜爱。
|
3天前
|
Python
小白入门必备!计科教授的Python精要参考PDF开放下载!
随着互联网产业的高速发展,在网络上早已积累了极其丰富的Python学习资料,任何人都可以基于这些资源,自学掌握 Python。 但实际上,网络上充斥的资源太多、太杂且不成体系,在没有足够的编程/工程经验之前,仅靠“看”线上资源自学,的确是一件非常困难的事。
|
3天前
|
数据可视化 API Python
豆瓣评分9.4!堪称经典的Python入门圣经,你还没看过吗?
最理想的新人入门书应该满足两个特点:第一就是内容通俗易懂;第二就是要有实战,能够让读者在学完之后知道具体怎么用。 今天给小伙伴们分享的这份Python入门手册,在为初学者构建完整的Python语言知识体系的同时,面向实际应用情境编写代码样例,而且许多样例还是后续实践项目部分的伏笔。实践项目部分的选题经过精心设计,生动详尽又面面俱到。
|
5天前
|
数据采集 运维 API
适合所有编程初学者,豆瓣评分8.6的Python入门手册开放下载!
Python是一种跨平台的计算机程序设计语言,它可以用来完成Web开发、数据科学、网络爬虫、自动化运维、嵌入式应用开发、游戏开发和桌面应用开发。 Python上手很容易,基本有其他语言编程经验的人可以在1周内学会Python最基本的内容(PS:没有基础的人也可以直接学习,速度会慢一点)
|
6天前
|
数据采集 SQL 数据可视化
使用Python和Pandas库进行数据分析的入门指南
使用Python和Pandas库进行数据分析的入门指南
69 0
|
6天前
|
Linux iOS开发 MacOS
Python入门指南
Python入门指南
27 0
|
6天前
|
数据采集 前端开发 JavaScript
Python爬虫入门
网络爬虫是自动抓取网页数据的程序,通过URL获取网页源代码并用正则表达式提取所需信息。反爬机制是网站为防止爬取数据设置的障碍,而反反爬是对这些机制的对策。`robots.txt`文件规定了网站可爬取的数据。基础爬虫示例使用Python的`urllib.request`模块。HTTP协议涉及请求和响应,包括状态码、头部和主体。`Requests`模块是Python中常用的HTTP库,能方便地进行GET和POST请求。POST请求常用于隐式提交表单数据,适用于需要发送复杂数据的情况。
16 1
|
10天前
|
机器学习/深度学习 人工智能 数据可视化
Python编程入门:从零开始探索编程的奇妙世界
这篇教程引导初学者入门Python编程,从安装Python开始,逐步讲解基本语法,如`print()`、变量、条件判断、循环以及自定义函数。文章强调了Python在数据处理、数据分析、人工智能和机器学习等领域的重要性,并鼓励学习者探索Python的广泛应用,开启编程之旅。
|
11天前
|
数据可视化 API Python
Python零基础“圣经”!300W小白从入门到精通首选!
今天分享的这本书在让你尽快学会 Python基础知识的同时,能够编写并正确的运行程序(游戏、数据可视化、Web应用程序) 最大的特色在于,在为初学者构建完整的 Python 语言知识体系的同时,面向实际应用情境编写代码样例,而且许多样例还是 后续实践项目部分的伏笔。实践项目部分的选题经过精心设计,生动详尽 又面面俱到。相信这本书能够得到更多 Python 初学者的喜爱。
小白入门必备!计算机科学教程的Python精要参考PDF开放下载!
随着互联网产业的高速发展,在网络上早已积累了极其丰富的Python学习资料,任何人都可以基于这些资源,自学掌握 Python。 但实际上,网络上充斥的资源太多、太杂且不成体系,在没有足够的编程/工程经验之前,仅靠“看”线上资源自学,的确是一件非常困难的事。