两种循环:
1 for in
2 while
#coding:utf-8 #/usr/bin/python """ 2018-11-03 dinghanhua 循环语句 """ \'\'\'for in\'\'\' #打印0-9 for i in range(10): print(i) #取出元组中不能被2整除的数据 turple = (1,13,33,54,8329) for i in turple: if(i%2 == 1): print(i) \'\'\'while\'\'\' #打印0-9 i = 0 while i < 10: print(i) i+=1 \'\'\'break跳出循环\'\'\' while True: str = input(\'输入字符串\') print(str) goon = input(\'输入y继续\') if goon != \'y\': break \'\'\'continue跳出本次循环\'\'\' for i in range(10): if i%2 == 0: continue print(i) \'\'\'enumerate() 同时取出索引和值\'\'\' print(enumerate(turple)) for i in enumerate(turple): print(i) for i,j in enumerate(turple): print(i,j) \'\'\'else 循环正常执行完执行else语句块\'\'\' x = 1 while x < 10: print(x); x +=2 #break #未正常执行完不执行else else: print(\'循环正常执行完毕\') x=1 #恢复初始值 print(\'x:\',x) \'\'\'pass占位语句\'\'\' while x < 10: if x == 2: pass print(x) x += 1 \'\'\'/r 在行开头输出\'\'\' # while True: # for char in [\'-\',\'/\',\'|\',\'\\\']: # print(char+\'\r\',end=\'\')
\'\'\'n!\'\'\' n = 10 result = 1 i = 1 while i <= n: result = result * i i += 1 print(result)
\'\'\'n!之和 1!+2!+3!\'\'\' n = 10 sum = 0 for i in range(1,n+1): mul =1 #存储阶乘 for j in range(1,i+1): mul = mul * j print(\'%d 的阶乘: %d\'%(i,mul)) sum += mul #阶乘之和 print(sum)
\'\'\'100以内最大平方数\'\'\' from math import sqrt for i in range(99,1,-1): #倒着取 #print(sqrt(i)) if sqrt(i) == int(sqrt(i)): print(i) break
\'\'\'回文数判断\'\'\' i =12393466439321 str = str(i) #转换成字符串 len = len(str) for index in range(0,len//2): #判断前半段即可 if str[index] != str[-index-1]: print(i,\'不是回文数\') break else: print(i,\'是回文数\')
\'\'\'100-999之间 各数字3次方之和等于数字本身的数字\'\'\' for i in range(100,999): if (i%10)**3 + (i//10%10)**3 + (i//100)**3 == i: print(i)
#转化为字符串,再取每个字符 for i in range(100,999): str1 = str(i) sum = 0 for char in str1: sum += int(char)**3 if sum == i : print(i)
\'\'\'100以内的素数\'\'\' for i in range(1,100): sign = 1#标志位 1是素数,0不是素数 for j in range(2,i//2+1): if i % j == 0: sign =0 break if sign == 1 : print(i,\'是素数\')
for i in range(2,100): for j in range(2,i//2+1): if i % j == 0: break else: print(i,\'是素数\') #正常结束所有循环,说明是素数
\'\'\'冒泡排序\'\'\' list = [13,3,65,2,655,54,12] for index in range(0,len(list)): for index2 in range(index+1,len(list)): if list[index] > list[index2]: list[index],list[index2] = list[index2],list[index] #print(list) print(list)
\'\'\'选择排序 每次选出剩下的里面最大或最小的放到前面\'\'\' list = [33,12,22,129,10,35] for i in range(len(list)): maxindex = i for j in range(i+1,len(list)): if(list[j] > list[maxnum]): maxindex = j list[i],list[maxindex] = list[maxindex],list[i] print(list)
\'\'\'一个数= 所有因子之和\'\'\' for i in range(1,1000): sum = 0 for j in range(1,i//2+1): if i%j == 0 : sum += j if (i == sum): print(i)
\'\'\'出租车 3公里内10元 3公里以后每0,5公里1元 等待2.5分钟加1元 超过15公里加原价50%\'\'\' length_km = 4.6 waittime_sec = 60 waittime_fee = waittime_sec//150 if waittime_sec%150==0 else waittime_sec//150+1 #等待时间按计费单位 money = waittime_fee * 1 if length_km <= 3: money += 10 elif length_km > 3: km = (length_km-3)/0.5 if (length_km-3)/0.5%1 ==0 else (length_km-3)/0.5//1+1 #超出0.5里程个数数 money += 10 + km * 1 if length_km >= 15: money *= 1.5 print(money)
\'\'\'打印空心矩形\'\'\' h = 4 w = 5 for i in range(0,h): for j in range(0,w): if i == 0 or i == h - 1 or j==0 or j==w-1: print(\'*\', end=\'\') else: print(\' \',end=\'\') print(\'\r\')