循环

for循环

需要重复执行某个过程,就可以使用循环
python中的循环有for循环和while

for 变量名 in 序列:
    循环体

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

执行过程:使用变量去序列中取数据,一个一个的取,取完为止,
每取一个值,依次执行循环体

for char in 'uryecdsbu1243':
    print(char)
    print('!')

print('===')

打印20次’abc’

range函数
“””
xrange是python2.x中的函数,在Python3.x中使用range函数代替了
range功能是产生指定范围的数字序列。一般用在for循环中,控制循环次数。或产生索引值
range(n):产生 0~n-1的整数序列
range(m,n):产生 m ~n-1 的整数序列
range(m,n,step):从m开始,每次家step产生下一个数字,直到n前面一个为止

range(10):产生0/1/2/3/4/5/6/7/8/9
for x in range(10):
    print(x)

print('===')

# range(10,20):产生数字(10~19)
for x in range(10,20):
    print(x)

print('++++')

# range(1,10,2):产生数字(13579)
for x in range(1,10,2):
    print(x)


# 计算1+2+3+...+100
y = 0
for x in range(1,101):
    y += x
print(y)

# 计算1*2*3*...*10
# 计算2*4*6*8*10
# 心得:从已经取到的值中挑选
y = 1
m = 1
for x in range(1,11):
    y *= x
    if x%2==0:
        m *= x
print(y,m)

# 有一个字符串'abcdef',依次取出字符串中偶数位上的字符
str0 = 'abcdef' 
for index in range(2,6,2):
    print(str0[index])

# 循环取出字符串中的偶数下标
for index in range(0,len(str0),2):
    print(str0[index])

# 循环取出字符串中每个字符的下标
for index in range(0,len(str0)):
    # 判断下标是否是偶数
    if index %2 ==0:
        print(str0[index])


index = 0
for char in str0:
    if index%2==0:
        print(str0[index])
    index += 1

while 循环

while 条件语句:
    循环体

while: 关键字
条件语句:bool型结果
循环体:重复执行的代码段
执行过程:判断条件语句是否为True,如果为True就执行循环体。执行完循环体后,再判断条件语句是否为True,如果为True就再执行循环体,以此类推,直至条件语句的值为False,循环结束,执行while循环后面的语句
注意:如果条件语句一直为True,就会造成死循环。所以在循环体中要
有让循环体可以结束的操作
python中没有do-while循环

死循环
while :
    print('aaa')
'''
flag = True
while flag:
    print('aaa')
    flag = False

#使用while循环计算1+2+...+100
sum = 0
x=1
while x<=100:
    sum += x
    x += 1
print(sum)

# 计算2+4+...+100
sum = 0
x=2
while x<=100:
    sum += x
    x += 2
print(sum)

break和continue

break和continue两个关键字都是作用于循环当中,用来结束循环的。

continue:结束当次循环,进入下次循环的判断。如果是for循环,就让变量取下一个值;如果是while循环就去判断while后边的条件语句是否为True

for x in range(10):
    print(x)
    continue   #不执行continue后面的语句,直接让X取下一个值
    print('===')
print('====')

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

break:结束整个循环,执行循环后面的语句。

for x in range(10):
    print(x)
    break
    print('===')
print('!!!')

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

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

使用break结束死循环

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

    number += 1

找出100-1000 第一个能够被3整除同时能够被17整除的数

number = 100
while number<=1000:
    number += 1
    if number%3==0 and number%17==0:
        print(number)
        break

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

for 和 while 的选择

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

1.循环次数不确定的时候,选择while循环
2.循环次数确定的时候,优先for循环。

通过循环遍历一个序列中的值,使用for循环

input()

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

使用value去保存从控制台输入的数据

value = input()

print('===')

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

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

# 导入random模块
import random
# 产生1-10的随机数
number = random.randint(1,10)
print(number)
    原文作者:GHope
    原文地址: https://www.jianshu.com/p/cdf0efa8b60a
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞