Python介绍(8)

2.3 循环 (一)

循环分两类:

for循环 —— 遍历循环

while循环 —— 条件循环

for 循环

In [37]:

costs = [3,4,12,23,43,100]

for cost in costs:  # 翻译:以成本为代价

print('消费{}元'.format(cost))

消费3元

消费4元

消费12元

消费23元

消费43元

消费100元

In [61]:

costs = [3,4,12,23,43,100]

for cost in costs:

#for依次从第一个数3开始打印

print('消费{}元'.format(str(cost).center(15)))

#cost是数字串类型,先用str转换成字符串类型 ,用center比较好看,15是间距的大小

消费       3       元

消费       4       元

消费       12      元

消费       23      元

消费       43      元

消费      100      元

while循环

#生成随机数用randint函数

In [39]:

import random

random.randint(1,10)

#会返回 1 到 10 随机的数,每次运行都是不一样的

Out[39]:

1

Crtl + Enter 执行完还在这个框里; Shift + Enter 执行完一次,就到了下一个框里

题:生成一个长度为20的随机列表 (使用while循环)

In [62]:

import random

​random_numbers = [ ]   # random_numbers 翻译:随机数字

while len(random_numbers) < 20:

random_numbers = [ ]

for i in range(20)

File "<ipython-input-62-ccfddf8b98be>", line 6

for i in range(20).

^

SyntaxError: invalid syntax

小结:只要能使用for循环,就不要使用while循环

2.4 循环 (二)

题:生成一个长度为20的随机列表 (使用for循环)

#range函数:

In [63]: range(20)

Out[63]: range(0, 20)

#转换成列表,从0开始的列表

In [64]: list(range(20))

Out[64]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

 

#不转换成列表:

In [65]: random_numbers = []

for i in range(20):  # 翻译: 对于范围内的数优化

print(i)   #print要和上面的for要是措开的

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

In [67]:

random_numbers = []

for i in range(20):

random_numbers.append(random.randint(1,10))  # randint 翻译:随机

print(random_numbers,len(random_numbers))

[4, 2, 2, 1, 3, 3, 1, 10, 10, 3, 6, 4, 4, 4, 3, 6, 1, 6, 10, 10] 20

必须用while循环:当循环的条件和数量没有关系时

 

while做 题:向空列表中添加随机数,直到添加的数为9,则终止

In [42]:

random_numbers = [] #先把random_numbers 清空

while 9 not in random_numbers:

random_numbers.append(random.randint(1,10))

print(random_numbers,len(random_numbers))

#每一次运行结果都不一样,和数量是没有关系的,所以用while循环 。可以在此加括号:while (9 not in random_numbers):

[10, 1, 3, 5, 2, 10, 4, 3, 7, 7, 9] 11

#判断1是否在列表中:

In [43]: 1 in [1,2,3]

Out[43]: True

#不在列表中:

In [44]: 1 not in [1,2,3]

Out[44]: False

2.5 答疑

只有一个元素的列表

题: a = [1,2,3], b = 1 ,c = (b in a),c是什么类型?它是不是元组? 答:不是

#查看类型

In [45]:

a = []

b = ()

type(a),type(b)

Out[45]:

(list, tuple)

#分别向列表和元组中添加一个元素 1 。

In [46]:

a = [1]

b = (1)

type(a),type(b),b

Out[46]:

(list, int, 1) #b的类型变了

#包含一个元素的元组

In [47]:

a = [1]

b = (1,)

type(a),type(b),b   #b就变成了tuple类型

Out[47]:

(list, tuple, (1,))

In [48]:

a = [1]

b = (1,)

type(a),type(b),b,len(b)    #b的长度

Out[48]:

(list, tuple, (1,), 1)

猜你喜欢

转载自blog.csdn.net/zxqjinhu/article/details/80736659