python中for循环有两个参数

Python016

python中for循环有两个参数,第1张

应该这样理解:

dict.items()结果是一个列表,列表的每一个值都是一个包含两个元素的元组,

for遍历的是一个元组对象,k和v是元组里的参数

所以(k,v)是一个整体,一下结果和你的结果一样的,

for x in d.items():

    print "dict[%s]="%x[0],x[1]

其中x就是(k,v),只是要取键值的话你上面的更方便。

祝你成功!

for 变量 in range(次数):<被执行的语句>                       变量:表示每次循环的次数,0-1之间

range(n)n表示产生0到n-1的整数序列共N个               range(m,n)  产生m到n-1的整数序列,共n-m个

循环for语句  :for 循环变量 in遍历结构:<语句体1>  else:<语句体2> 

无限循环: while条件: 语句块

while 条件:语句体1 else: 语句体2

循环保留字:break     continue

方法1:from random import random

from time import perf_counter

DARTS=1000

hits=0.0

start =perf_counter()

for i in range(1,DARTS+1):

    x,y=random(),random()

    dist=pow(x**2+y**2,0.5)

    if dist<=1.0:

        hits =hits+1

    pi=4*(hits/DARTS)

    print("圆周率是:{}".format(pi))

    print("运行时间是{:.5f}s".format(perf_counter()-start))

方法2:

pi=0

n=100

for k in range(n):

    pi += 1/pow(16,k)*(\

        4/(8*k+1)-2/(8*k+4) - \

        1/(8*k+5) - 1/(8*k+6))

print("圆周率值是:{}".format(pi))

def 函数名 (0个或者多个):函数体  renturn 返回值

def 函数名 (非可选参数,可选参数):函数体  renturn 返回值

参数传递的两种方式:位置传递,名称传递

科赫雪花:

import turtle

def koch(size,n):

    if n==0:

        turtle.fd(size)

    else:

        for angle in [0,60,-120,60]:

            turtle.left(angle)

            koch(size/3,n-1)

def main():

    turtle.setup(400,200)

    turtle.penup()

    turtle.pendown()

    turtle.pensize(2)

    l=3

    koch(600,l)

    turtle.right(120)

    turtle.pencolor('blue')

    koch(600,l)

    turtle.right(120)

    turtle.pencolor('red')

    koch(600,l)

    turtle.speed(3000)

    turtle.hideturtle()

main()

阶乘:

def fact(n):

    s=1

    for i in range(1,n+1):

        s*=i

    return s

c=eval(input("从键盘输入一个数字"))

print("阶乘结果",fact(c))

python 中,函数内部修改的形参,并不会改变函数外部实参的值。

以题目中例子为例,首次满足xn==xn2和yn==yn2时,自然不会执行while循环内的huisu函数,于是退出huisu(定义这一层huisu为A),也就是退出到该层嵌套函数,此时,到达一个外层huisu(定义这一层huisu为B),此时在while循环中,这个时候,xn2是85,yn2就是447。

说白了,就是A中的yn2虽然为448,但B中的yn2始终是447,再外一层的huisu两个数字就分别是85和446,以此类推。

于是乎,此时,程序会一直在B中执行while循环,不断输出同样的数字,永远不会退出。