Python循环
while
#语法:
while condition:
block #当条件满足即condition为True,进入循环体,执行block
#举例:
flag=10
while flag:
print(flag)
flag -= 1
#如果flag=-10:
flag=-10
while flag:
print(flag)
flag += 1
for
for element in itratable:
block #当迭代对象中有元素可以迭代,进入循环体,执行block
range函数
前包后不包range(10) 从0开始不包括末尾的10
for i in range(10):
print(i+1)
#倒叙打印
for i in range(10,0,-1):
print(i)
continue
[中断当前循环的当次执行,继续下一次循环]
#举例:计算10以内的偶数
#方法1
for i in range(0,11,2):
if i != 0:
print(i)
#方法2:
for i in range(11):
if i%2 == 0 and i != 0:
print(i)
break
[终止bread所在整个循环]
#测试break范围:
for i in range(2):
for j in range(10):
if j < 2:
print(j)
else:
break
print(“aaa”)
0
1
aaa
0
1
aaa `由此结果证明break范围为所在循环`
练习:
#给定一个不超过5位的正整数,判断其有几位,依次打印出个位、十位、百位、千位、万位的数字
Input_Num=int(input(“Please input integer number:”))
for i in range(len(Input_Num)): #取出数字长度决定循环次数
n=Input_Num%10 #将最后一位取出
Input_Num//=10 #将取出后的剩余数字赋值
print(n) #打印最后一位
y=int(input(“hehhe:”))#逻辑与上面for循环类似
Num_len=4
while Num_len != 0:
n=y%10
y//=10
print(n)
Num_len-=1
循环else字句:
如果循环正常的执行结束,就执行else字句,如果使用break终止,else字句不会执行
#语法:
while condition:
block
else:
block
for element in iteratable:
blcok
else:
block
help(函数名称)[]help(range)],查看函数帮助
练习
- 打印一个边长为n的正方形
print(6*”*”)
for i in range(4):
print(“*” + 4*” ” + “*”)
print(6*”*”)
- 打印菱形
n=3
for i in range(1,8,2):
print(n*” “,i*”*”)
n-=1
n=1
for x in range(5,0,-2):
print(n*” “,x*”*”)
n+=1
- 求100以内所有奇数的和
n=0
for i in range(1,100):
if i%2 != 0:
n+=i
print(n)
- 求1到5阶乘之和
a=1
b=0
for i in range(1,6):
a *= i #将阶乘结果赋予a
b += a #将每个阶乘的结果累加赋予b
pirnt(b)
- 给一个数,判断它是否是素数(质数):一个大于1的自然数只能被1和它本身整除
m=int(input(“please input >1 number:”))
for i in range(2,m):
if m%i == 0:
print(“No”)
break
else:
print(“Yes”)
- 打印九九乘法表
for i in range(1,10):#循环9列
for j in range(1,10):#每行打印结果循环
if j <= i:#判断打印区间
print(j,”*”,i,”=”,j*i, end = ” “)
print(” “)
- 打印100以内的斐波那契数列
a=0
b=1
while True:
x=a+b
if x<100:
print(x)
else:
break
a=b
b=x
- 求斐波那契数列第101项
a=0
b=1
c=0
while True:
x=a+b
a=b
b=x
c+=1#计数器
if c == 100:
print(x)
break
- 求10万内的所有素数
import datetime
starttime = datetime.datetime.now()
for i in range(2,100000):
for x in range(2,i):
if i%x==0:
break
else:
print(i)
endtime = datetime.datetime.now()
print (endtime – starttime,”.seconds”)
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/87371