格式1:
while 表达式: 语句块 与if语句语法类似,如果while循环体语句只有一句,可以将该语句与while写在同一行。格式2:
while 表达式: 语句块 else: 语句块 else语句会在循环正常执行完的情况下执行(不管是否执行循环体),当通过break语句跳出循环体而中断循环时,else部分就不会被执行。计算1 到 100的值
def fun(): n = 1 sum = 0 while n <= 100: sum +=n n +=1 return sum if __name__ == '__main__': print("累计和为:{}".format(fun())) # 输出:累计和为:5050格式:
for 目标变量 in 序列对象: 语句块 else: #支持else语句,功能与while一样 语句块列表,字符串,元组都是序列,循环次数为序列中元素的个数
python3 中 range() 函数返回可迭代对象。python专门为for循环语句设计了迭代器处理方法
for 循环中,Python 将自动调用内置函数 iter() 获取可迭代对象的迭代器,自动调用内置函数 next() 获取元素,还完成了检查StopIteration 异常的工作
求累计和:
def fun(): sum = 0 for i in range(1,101,1): # 参数 起始位置,终点位置(不包含),步长 sum += i print("累计和为:{}".format(sum)) if __name__ == '__main__': fun() #输出:累计和为:5050输入20个数,求其中最大值,与最小值
def fun(): max = 0 min = 1000000000 for i in range(1,21,1): x = int(input("输入第{}个数:".format(i))) if x > max: max = x if x < min: min = x print("最小值:{}------最大值{}".format(min,max)) if __name__ == "__main__": fun()输入一个整数 m,判断是否为素数
import math def fun(m): flag = True n = int(math.sqrt(m)) for i in range(2,n+1): if m % i == 0 : flag = False break if flag: print("{}是素数".format(m)) else: print("{}不是素数".format(m)) if __name__ == "__main__": for i in range(1,11,1): m = int(input("输入m = ")) fun(m)break、continue、pass
迫使所在的循环体立即终止循环 示例:求出两个数的最大公约数 方法一:
def fun(m,n): if n > m: m,n = n,m for i in range(m,0,-1): if m % i == 0 and n % i ==0: print("m与n的最大公约数为{}:".format(i)) break if __name__ == "__main__": m,n = eval(input("输入求m,n=")) fun(m,n)方法二:
def fun(m,n): if m < n: m,n = n,m r = m % n while r != 0: m,n = n,r r = m % n print("m与n的最大公约数为{}:".format(n)) if __name__ == "__main__": m,n = eval(input("m,n = ")) fun(m,n)当循环结构执行continue 语句时,并不会退出循环结构,而是立即结束本次循环。
def fun(): x = y = 0 while True: x += 1 if not(x % 2):continue elif x>100: break else: y += x print("y = {}".format(y)) if __name__== "__main__": fun()pass 语句是一个空语句,不做任何操作。可以用于函数,条件,循环。continue,break,只用于循环。