Python程序设计入门第0讲

论坛 期权论坛 期权     
静夜随想   2019-6-30 19:03   2668   0
前些天,有个姑娘说想学Python,我一听,双眼放出万丈光芒,心想如果我教会她,万一姑娘一时高兴,以身相许,老妈就再也不用担心我了,那岂不是美滋滋。于是准备要怎么教她学编程,夜晚,躺在床上,回忆自己的编程经历,想起高一时与朝辉一起学习VBasic的点点滴滴,想起大一时为了考C语言二级的突击学习,真是岁月如梭。一顿感慨后,心中已有了大致的想法,于是有了这篇文章。

几乎所有的编程语言,都是由3种基本的程序结构组成,顺序,循环,选择,弄懂这三种后,就可以写程序了。下面且听我一一道来。

### print
先来看看print语句
  1. print('邓世龙')  # 字符串要用引号括起来
复制代码
  1. 输出
复制代码
  1. 邓世龙
复制代码
  1. a = 1
复制代码
  1. b = 2
复制代码
  1. print(a, b)
复制代码
  1. 输出 1 2
复制代码
### 顺序结构
然后来看顺序结构, 顺序结构很容易理解,就是程序是一句句往下执行,
  1. a = 1
复制代码
  1. b = 2
复制代码
  1. a = 3
复制代码
  1. b = 4
复制代码
  1. print(a, b)
复制代码
  1. 输出
复制代码
  1. 3 4
复制代码
  1. s = 0
复制代码
  1. print(s)
复制代码
  1. s = s + 1
复制代码
  1. print(s)
复制代码
  1. s = s + 2
复制代码
  1. print(s)
复制代码
  1. s = s + 3
复制代码
  1. print(s)
复制代码
  1. s = s + 4
复制代码
  1. print(s)
复制代码
  1. [/code][code]输出
复制代码
  1. 0
复制代码
  1. 1
复制代码
  1. 3
复制代码
  1. 6
复制代码
  1. 10
复制代码

接下来看看循环结构。现在我们要完成一个计算任务,计算1 + 2 + 3 + ... + 10的和,我们可以从1一直加到10,这就需要循环。在绝大多数编程语言里,都提供for或者while来完成循环,这里先来看for, 而在这之前,先了解下list, 也就是列表。

### list(列表)
list相当于其它编程语言里的数据,主要是用来存放统一类型的数据
  1. x = [1, 2, 3, 4, 5, 6]
复制代码
  1. print(type(x))  # 显示x的类型
复制代码
  1. print(len(x))   # 求列表的长度
复制代码
  1. print(x[0])     # 取第一个值
复制代码
  1. print(x[2])     # 取第三个值
复制代码
  1. print(dir(x))   # 显示列表的变量和方法
复制代码
  1. 输出如下:
复制代码
  1. [/code][code]6
复制代码
  1. 1
复制代码
  1. 3
复制代码
  1. ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
复制代码
### range
1到6的列表手写问题也不大,但1到100,1到1000的列表如果手写会疯掉的,所以Python提供了range这个函数。
  1. x = list(range(10))
复制代码
  1. print(x)
复制代码
  1. y = list(range(1, 10))
复制代码
  1. print(y)
复制代码
  1. z = list(range(1, 10, 2))
复制代码
  1. print(z)
复制代码
  1. [/code][code]
复制代码
  1. 输出
复制代码
  1. [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
复制代码
  1. [1, 2, 3, 4, 5, 6, 7, 8, 9]
复制代码
  1. [1, 3, 5, 7, 9]
复制代码
### 循环结构 for

下面就是for循环的语法,注意for循环后面有冒号,之后print还要缩进
  1. # for循环 打印1到10
复制代码
  1. n = 10
复制代码
  1. for i in range(1, n + 1):
复制代码
  1.     print(i)
复制代码
  1. 输出:
复制代码
  1. 1
复制代码
  1. 2
复制代码
  1. 3
复制代码
  1. 4
复制代码
  1. 5
复制代码
  1. 6
复制代码
  1. 7
复制代码
  1. 8
复制代码
  1. 9
复制代码
  1. 10
复制代码
现在我们就可以编写求1 + 2 + 3 ... + 10的和的程序
  1. # 循环,for循环求和, 求1 + 2 + ... + 10的和,
复制代码
  1. s = 0
复制代码
  1. n = 10
复制代码
  1. for i in range(1, n + 1):
复制代码
  1.     s = s + i
复制代码
  1. print(s)
复制代码
  1. [/code][code]
复制代码
  1. 输出
复制代码
  1. 55
复制代码
### 选择 if
现在我们要求1到10以内,所有偶数的和,这就会用到选择。

那么如何判断是偶数呢?对2取余就行了,如果余数是0,就是偶数
  1. print(4 % 2 == 0)  # % 是求余操作
复制代码
  1. print(3 % 2 == 0)
复制代码
  1. 输出
复制代码
  1. True
复制代码
  1. False
复制代码
现在加上if判断,求1到10以内所有偶数的和
  1. s = 0
复制代码
  1. n = 10
复制代码
  1. for i in range(1, n + 1):
复制代码
  1.     if i % 2 == 0:
复制代码
  1.         s = s + i
复制代码
  1. print(s)
复制代码
#### 选择 and
如果要求30以内,既能被3,又能被5整数的所有整数的和,这时候就会用到and操作
  1. s = 0
复制代码
  1. n = 30
复制代码
  1. for i in range(1, n + 1):
复制代码
  1.     if i % 3 == 0 and i % 5 == 0:  # 有15,30
复制代码
  1.         s = s + i
复制代码
  1. print(s)
复制代码
  1. 输出
复制代码
  1. 45
复制代码
#### 选择 or
如果要求10以内,能被3,或能被5整数的所有整数的和, 这时候就会用到or操作
  1. s = 0
复制代码
  1. n = 10
复制代码
  1. for i in range(1, n + 1):
复制代码
  1.     if i % 3 == 0 or i % 5 == 0:  # 有 3,5,6,9,10
复制代码
  1.         s = s + i
复制代码
  1. print(s)
复制代码
#### continue 进入下一次循环
求10以内,能被3或能被5整数, 但不能被2整除的所有整数的和,这时候可以继续使用and和or的组合来判断,但更方便的,还是用continue,
  1. s = 0
复制代码
  1. n = 10
复制代码
  1. for i in range(1, n + 1):
复制代码
  1.     if i % 2 == 0:
复制代码
  1.         continue
复制代码
  1.     if i % 3 == 0 or i % 5 == 0:  # 有 3,5,9
复制代码
  1.         s = s + i
复制代码
  1. print(s)
复制代码
  1. 输出
复制代码
  1. 17
复制代码
### 循环 while
for循环也可以用while循环来代替, while后面跟着判断条件,如果条件为True, 也就是为真,就会一直执行while循环里的内容; 如果为False,就会跳出循环。例如求1 + 2 + ... + 10的和,用for循环编写如下
  1. s = 0
复制代码
  1. n = 10
复制代码
  1. for i in range(1, n + 1):
复制代码
  1.     s = s + i
复制代码
  1. print(s)
复制代码
改成while,如下
  1. s = 0
复制代码
  1. i = 1
复制代码
  1. n = 10
复制代码
[code]while i
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP