python 入门级程序算法

条件语句的基础程序

# 设置条件的时候,一般从少数的地方入手
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='	')
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	'%(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('列表中没有')
原文地址:https://www.cnblogs.com/vivi0403/p/9892744.html