条件语句的基础程序
# 设置条件的时候,一般从少数的地方入手 count = 1 while count <= 3: print(count) #可替代内容 count +=1
# 求和 count = 1 sum = 0 while count <101: sum += count count += 1 print(sum)
for循环的基础程序
# 列表中for 循环控制索引位置 list1 = [1,2,3,4,4,5,6,] for i in range(len(list1)): print(i,list1[i])
# range具有切片的功能,所有可以妙用 Lis = [] for i in range(0,101,2): Lis.append(i) print(Lis) #将0-100内的偶数打印出来
# 敏感词屏蔽 li = ["苍老师", "东京热", "武藤兰", "波多野结衣"] new_li = [] GetInput = input('请评论:') for i in li: #在设置一个循环的时候要确定一个循环的范围,并且要确定是否需要全部遍历后 # 才操作还是遍历每一个元素的时候就进行操作 if i in GetInput: GetInput = GetInput.replace(i,'*'*len(i)) new_li.append(GetInput) print(new_li)
# 常用的遍历字典常用的两种方法 dic = {1:1,2:2} # 方法1 for a,b in dic.items():#通过解包 print(a,b) # 方法2 for i in dic:#通过key值 print(i,dic[i])
# range的常用方法 range(10) range(1,10) range(n,m,p) #与切片一样分别代表的是[start ,end) 和step for i in range(100,0,-2): print(i,end='\t') list1 = [1,2,3,4,5] for i in range(1,len(list1)): list1.pop()#在循环一个列表的时候删除另一个列表的内容
计算某个城市车牌的数量cars = ["鲁A32444", "鲁B12333","鲁A32444", "鲁B12333","鲁A32444", "鲁B12333", "京B8989M", "黑C49678", "黑C46555", "沪B25041"] locations = {'沪': "上海", "黑": "黑龙江", "鲁": "山东", "鄂": "湖北", "湘": "湖南", "京": "北京"} # 结果
方法一
result = {} for car in cars: # 车牌子 "鲁A32444" c = car[0] # 鲁 local = locations[c] # 山东 # 第五天。 字典。 新增和查询 去代码里找 # result[local] = result.setdefault(local, 0) + 1 if result.get(local): # 原来出现过 result[local] = result[local] + 1 else: # 第一次出现 result[local] = 1
方法二
dic = {}
for a in cars:
dic[Locals[a[0]]] = dic.setdefault(Locals[a[0]],0)+1
print(dic)
#99乘法表 for i in range(1,10): for j in range(1,i+1): print('%s * %s= %s\t'%(j,i,i*j),end = '') print()
#注意的有坑 k ='123' gg = '' for i in k: gg+=i print(gg) for i in range(2,2): print(i) else: print('gg')
# 倒金字塔函数算法 def gg(n): for i in range(1,n+1): for a in range(i): print('_',end = '') for b in range(2*(n-i)+1): print('*',end = '') print()
n表示的是行数,由于是第几行就显示几个'_' 所以第二层循环直接使用i作为打印的次数,因为每行*的个数等于总行数-当前行号*2 -1
所以以此作为循环的次数,执行完下面两个打印的循环之后,通过print()中一个默认的换行符进行换行
# 求1-100内所有的质数的和 def func(n): # 只能被1和自身整除的数 if n == 1: # 特殊处理的 return False # n / 2, 3, 4, 5, 6, 7, 8, 9....n-1 for i in range(2, n): if n % i == 0: # 不是质数 return False else: return True print(func(2)) sum = 0 for i in range(1, 101): if func(i): # 如果是质数. 帮我累加 sum += i print(sum)
普通二分法
lst = [4, 56, 178, 253, 625, 1475, 2580, 3574, 15963] gg = int(input('请输入一个数字')) Left = 0 Right = len(lst)-1 while Left <= Right: Mid = (Left+Right)//2 if gg < Mid : Right = Mid-1 elif gg > Mid : Left = Mid +1 else: print('找到了') break else: print('列表中没有')