循环和分支(这次来个全的,不分开写了)

2018-07-19  本文已影响0人  她即我命

for循环

解决一个问题需要重复执行某一个过程

Python中的循环有两个 for循环还有while循环

for循环

"""
for 变量名 in 序列:
循环体

for:关键字
变量名:和声明变量时是一样的,功能是存储值
in: 关键字,在。。。里的意思
序列: 必须是容器类型的数据类型。字符串、列表、字典、元组、集合等。
循环体:会重复执行的代码块

执行的过程: 用变量不断地取序列的数据,一个一个地取,取完为止,每取一次执行一次循环体

"""
for item in 'adcd123':
print(item)

"""
a
b
c
d
1
2
3
"""

打印20次'abc'

2.range函数

"""
xrange是Python2.x中的函数,在Python3中无效了

range功能是产生指定范围内的数字序列,一般用在for循环中,控制循环次数,或者产生索引值
range(n): 产生 0 ~ n-1的整数序列
range(n,m): 产生n~m-1的整数序列
range(m,n,step): 从M开始,每次加step产生一个数据,直到n前面一个为止
"""

产生数字0~9

for x in range(10):
print(x)

产生数字10到19

for x in range(10,20):
print(x)

产生数字0 2 4 6 8(2为步进)

for x in range(0,10,2):
print(x)

练习: 1+2+3+.....100

x = 0
for i in range(1,101):
x = x + i
# x += i
print(x)

"""
x = 0

x ~ [1~100]
x = 1 x +=i = 0 + 1
x = 2 x +=2 = 1 + 2
x = 3 x +=3 = 1 + 2 + 3
......
x = 100 x + = 100 = 1+2+3+...+100
"""

练习:只使用一个循环

计算123*..10

计算246*...10

a = 1
b = 1

遍历取出1-10中的数

for i in range(1,11):
a *= i

判断i是否为偶数

if i%2 == 0:
    b *= i

print(a,b)

练习:有一个字符串'abcdef',依次取出字符串中偶位数(下标值为偶数)

方法二

str1 ='abcdef'
for index in range(0,len(str1),2):
print(str1[index])

方法二

for index in range(0,len(str1)):
if index % 2 = 0:
print(str1[index])

方法三

index = 0
for char in str1:
if index % 2 == 0:
print(char)
index += 1
"""

while循环

"""
while 条件语句:
循环体

while; 关键字
条件语句: 结果为true 或者false
循环体:重复执行的代码段

执行过程: 判断条件是否为true,为true执行循环体,然后回来判断条件是否为true,如果为false,循环结束,直接执行while循环后面的语句

注意:如果条件的结果一直未true,就会造成死循环。所以在循环中要有结束循环的操作

python中没有do-while循环
"""

循环只执行一次

flag = True
while flag:
print('aaa')
flag = False

使用while循环1+...100

q=1
sum = 0
while q <= 100:
print(q)
sum += q
#每次循环让Q值加一
q += 1
print(sum)

练习:计算2+4+6+..100

w = 2
sum2 =0
while w <=100:
if w % 2 == 0:
sum2 += w
w += 1
print(sum2)

break和continue

break和continue两个关键字都是用来结束循环。

continue:关键字,在循环体中遇到continue,结束当次循环,直接接入下一次循环的判断
下一个值,如果while后面的while循环就去判断while循环后面的条件语句是否为true)

break:关键字,只要在循环体中遇到break就直接结束整个循环,直接执行循环后面的其他语句
"""

for x in range(10):
print(x)
continue #不执行continue后面的循环,直接让下一个值x去
print('===')

取偶数

for x in range(10):
if x % 2:
continue
print(x)

"""
break:关键字,只要在循环体中遇到break就直接结束整个循环,直接执行循环后面的其他语句
"""
for x in range(10):
print(x)
break
print('===')
print('!!!')

通过改变条件语句的值,来结束循环

numer = 1
while numer <= 100:
print(numer)
numer += 1

通过break结束死循环

numer = 1
while True:
if numer > 100:
break
print('==',numer)
numer += 1

练习:找出100-1000以内的第一个能够被3整除以及被17整除的数

for numer in range(100,1001):
if numer % 3 and numer % 17 == 0:
print(numer)
break

for和while的选择以及循环嵌套

1.for和while的选择

"""
for循环的循环次数是确定的,while循环的循环次数可以不确定

  1. 循环次数不确定的时候,选择while循环,确定一般使用for循环
  2. 使用循环取遍历一个序列中的值使用for循环
    """

2.input

"""
input()接收从控制台输入数据的数据(输入的数据以回车结束)
程序中遇到input()函数,程序会柱塞,等待用户输入完之后,才会接着执行后面的代码
"""

value = input()

print ('=====')

3.产生随机数

Python中的一个内置模块,可以产生随机数:random

"""
randint(m,n):产生一个m-n的随机数(整数)
"""

导入random模块

import random

产生100-200的随机数

number = random.randint(100,200)
print(number)

上一篇下一篇

猜你喜欢

热点阅读