for……in:知道次数时使用的循环,一般搭配range
while:不知道循环次数时使用
range的用法解析:特点是包头不包尾
``` range(101):指的是0-100 range(1,101):指的是1-100 range(1,101,2):1-100的奇数 range(100,0,-2):100-1的偶数 ```
小脚本练习
输入一个正整数判断是不是素数
from math import sqrt def sushu(num): for i in range(2,int(sqrt(num))+1): if num%i==0 : return False return True if num!=1 else False num=int(input('输入一个数字:')) print(sushu(num))
输入两个正整数,计算它们的最大公约数和最小公倍数
#实现最大公约和最小公倍数的函数 def max_gongyue(x,y): for i in range(x,0,-1): if x%i==0 and y%i==0: return i def min_gongbei(x,y): i=max_gongyue(x,y) return (x*y)/i def main(): x=int(input('请输入正整数1:')) y=int(input('请输入正整数2:')) print('最大公约数是%d,最小公倍数是%d'%(max_gongyue(x,y),min_gongbei(x,y))) if __name__ == '__main__': main()
打印如下所示的三角形图案
''' * ** *** **** ***** ''' ''' * ** *** **** ***** ''' ''' * *** ***** ******* ********* ''' def xingxing1(): #输入要几行 row=int(input('请输入要打印几行星星')) #行数循环 for i in range(1,row+1): # 列循环 for j in range (i): print('*',end='') print() def xingxing2(): # 输入要几行 row = int(input('请输入要打印几行星星')) for i in range(1,row+1): for j in range(row-i): print(' ',end='') for k in range(i): print('*',end='') print() def xingxing3(): row = int(input('请输入要打印几行星星')) for i in range(1, row + 1): for j in range(row-i): print(' ',end='') for k in range(2*i-1): print('*',end='') for l in range(row-i): print(' ',end='') print() if __name__ == '__main__': # xingxing1() # xingxing2() # xingxing3() pass