倒序
a=【1,2,3,4,5,6,7,8,9】
1.a[::]步长默认为1,起点默认为0,终点默认为最后一位
2.a[1:6:-1]当取值大小方向与步长的方向冲突时,返回值是空
3.a[:-6]=[1,2,3,4,5,6,7]
4.a[:-6:-1]=[8,9]
5.连续的切片
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a[:8][2:5][-1:] ## [:8]就是0取到8,在从其中取2到5,最后取-1位
[4]
a[:8] ---- [0,1,2,3,4,5,6,7]
[0,1,2,3,4,5,6,7][2:5]----[2,3,4]
[2,3,4][-1:] ----[4]
6.切片也可以操作如元组、字符串的其他对象
例题

a=input()
print(a[-1::-1])
闰年
判断:能被4整除但不能被100整除或者不能被400整除
year=int(input("请输入一个年份:"))
if year%4==0 and year%100!=0 or year%400==0:
print("是闰年")
else:
print("不是闰年")
水仙花数
水仙花数:
给定的三位数=各位数的三次方合如153
num=int(input("请输入一个三位数:"))
if (num%100%10)**3+(num%100//10)**3+(num//100)**3==num:
print("YES")
else:
print("NO")
也可以用pow函数:
num=int(input("请输入一个三位数:"))
if num==pow(num%100%10,3)+pow(num%100//10,3)+pow(num//100,3):
print("YES")
else:
print("NO")
A+B
A,B=map(int,input().split())
print(A+B)
注意输入时候用空格分开,不能用,
计算圆的面积
import math
r=int(input("请输入圆的半径:"))
PI=math.pi
print('%.7f'%(PI*r**2))
注意:import调用math函数
最后的输出格式要求七位小数
输出用%输出eg:
斐波那契数列
x=1
y=1
print(x,end='\n')
print(y,end='\n')
while(True):
z=x+y
x=y
y=z
if(z>100):
break
print(z,end='\n')
序列和
n=int(input("请输入一个n值:"))
s=0
while(True):
s=s+n
n=n-1
if(n==0):
break
print(s)
字符串对比

def zifu(str1,str2):
if len(str1)!=len(str2):
return 1
else:
if str1==str2:
return 2
elif str1.lower()!=str2.lower:
return 4
return 3
if __name__=='__main__':
str1=input()
str2=input()
print(zifu(str1,str2))
注意:.lower()是把所有字母变成小写
--name--==‘--main--’:当前模块作为主程序执行
芯片测试

n=int(input("请输入一个n值:"))
arr=[list(map(int,input().split())) for i in range(n)]
num1=0
num0=0
for j in range(n):
for i in range(n):
if arr[i][j]==1:
num1+=1
elif arr[i][j]==0:
num0+=1
if (num1>num0):
print(j+1,end=' ')
num1=0
num0=0
注意;第二行二维列表的代码
整体思路:如果正确的芯片比错误的芯片多,那么被测芯片应该为正确的芯片,反之则为错误的芯片
完美的代价
注意思路
矩形相交面积
阶乘计算
def juzhen(N,a1,a2):
result=[[0 for i in range(N)]for j in range(N)]
for i in range(N):
for j in range(N):
for k in range(N):
result[i][j]+=a1[i][k]*a2[k][j]
return result
if __name__=='__main__':
N,M=map(int,input('请输入阶数和幂次:').split())
a1=[[]for i in range(N)]
for i in range(N):
arr=input().split()
for j in range(N):
a1[i].append(int(arr[j]))
if M>0:
a2=a1
for i in range(M-1):
result=juzhen(N,a1,a2)
else:
result = [[0 for i in range(N)] for j in range(N)]
for i in range(N):
result[i][i]=1
for i in range(N):
for j in range(N):
print(result[i][j],end=' ')
print(' ')
哈夫曼树

分解质因数
import math
a,b=map(int,input().split())
zhishu=[]
for i in range(2,b+1):
x = 0
for j in range(2, int(math.sqrt(i) + 1)):
if i % j == 0:
x = 1
break
if x == 0:
zhishu.append(i)
#检验质数
for i in range(a,b+1):
if i in zhishu:
print(str(i)+'='+str(i))
else:
feizs=i
yinshu=[]
flag=1
while flag:
for j in zhishu:
s1=j
s2=feizs//j
if s2%1==0:
yinshu.append(s1)
if s2==1:
flag=0
break
elif s2 in zhishu:
yinshu.append(s2)
flag=0
break
else:
feizs=s2
arr=[str(i) for i in yinshu]
print(str(i)+'='+'*'.join(arr))
报时助手
1077

被折叠的 条评论
为什么被折叠?



