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))
#脚本里面直接这样写就好了import randomdef R(): print (random.randint(1,1000))for i in range(1,10): R()
for ... in ...
// for ... in 字符串
for i in 'abc':
print(i)
'''
a
b
c
'''
// for ... in 数组
for i in ['a', 'b', 'c']:
print(i)
'''
a
b
c
'''
// for ... in 元组
for i in ('a', 'b', 'c'):
print(i)
'''
a
b
c
'''
// for ... in 字典(得到的是字典的key)
for k in {'学号':30,'姓名':'小明'}:
print(k)
'''
姓名
学号
'''
// for ... in 字典.items()(得到的是字典的key, value)
for k, v in {'学号':30,'姓名':'小明'}.items():
print(k, v)
'''
姓名 小明
学号 30
'''
for ... in range(...)
// for ... in range(num)
for i in range(3):
print(i)
'''
1
2
'''
// for ... in range(num1, num2)
for i in range(1, 3):
print(i)
'''
1
2
'''
// for ... in range(num1, num2, num3)
for i in range(3, 1, -1):
print(i)
'''
3
2
'''
for i in range(1, 5, 2):
print(i)
'''
1
3
'''
倒叙
for i in reversed([1,2,3,4]):
print(i)
’‘’
4
3
2
1
‘’‘
又想得到遍历次数,又想得到数组值
for i,e in enumerate(array):
for i,e in enumerate(['21dw', 55, 22, 'rw']):
print(i, e)
'''
0 21dw
1 55
2 22
3 rw
'''
列表生成式
[...for ... in array]]
print([x * x for x in [2, 34, 324, 43]])
'''
[4, 1156, 104976, 1849]
'''
//相当于
list = []
for x in [2, 34, 324, 43]:
list.append(x * x)
print(list)
循环累加
1、进入都pycharm编辑器中,打开一个Python文件或者可以新建一个文件,先初始化两个变量,输入下面的代码:
result=0
i=0
2、使用循环累加的方式,在这里我们使用的是while函数进行循环累加的操作,循环的条件是i小于或者是等于100,也就是说,求的是100以内的数在和,代码如下:
while i=100:
result+=i
i+=1
这里的变量i,每循环一次,它就自增一次,直到它大于100,循环才会结束。最后可以使用Python中的print()函数输出累加的结果。
方法二:递归累加
1、同样的使用pycharm编辑器,进入到编辑界面之后,打开或者是创建一个Python文件,在文件中调用使用函数进行调用,对变量进行累加,输入下面的这段代码:
def sum_num(num):
这里是定义了一个函数为sum_num,包含了一个参数,用来传递具体的值,并且执行下面的代码调用,进行累加,代码如下:
t=sum_num(n-1)
return n+t
2、在函数的调用过程中,我们可以设置一个变量,用来存放最后得到的累加的结果,并且最后使用print()函数对运行结果进行打印,代码如下:
result = s_num(100)
print(result)
关于怎么在Python中实现累加求和?Python累加求和的方法的文章就分享到这里了,文章中介绍了两种累加求和的方法,大家可以根据操作步骤,动手实践一下。
如果非要自己定义一个函数用循环求阶乘,可以这样写(缩进格式见下图):
def jc(n):
i,fact=1,1
while i=n:
fact*=i
i+=1
return fact
print(jc(6))
运行截图:
稍微比较好一点的方法是用functools模块的reduce函数,像这样:
from functools import reduce
n=6
fact=reduce(lambda x,y:x*y,range(1,n+1))
print(fact)
更好一点的办法是直接使用math模块的求阶乘的函数factorial,像这样写:
import math
print(math.factorial(6))
可以使用 for 循环语句来实现这个功能。代码如下:
sum = 0 # 用于存储和
# 从1开始循环,每次加3
for i in range(1, 1002, 3):
sum += i
print(sum) # 打印计算结果
上面的代码中,我们使用了 range() 函数,从1开始循环,每次加3,直到循环到1002为止。这样,我们就可以通过循环语句,计算出1+4+7+10+……