Python自练习 代码 ~

自己用来练习的一些题目~代码真的不太好~轻喷 ~真的会谢

if __name__=='__main__':
  n = int(input())

#十进制转二进制去0b 5位补零
  print(bin(n)[2:].zfill(5))
#十进制转八进制去0o ,5位补零
print(oct(n)[2:].zfill(5))
#十进制转十六进制去0x ,5位补零
print(hex(n)[2:].zfill(5))


#其他转十进制
i = "10"  #i = input()
print(int(i,2/8/16))  #分别为二、八、十六进制


#fos:输入给定的十六进制转为八进制
if __name__=='__main__':
  n = int(input())
  l = []
  for i in range(n):
    l.append(input()) 
    l[i] = oct(int(l[i],16))[2:]
  for i in range(n):
    print(l[i])
#回文数问题描述
#1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求手动输入的所有这样的十进制数。
if __name__ == "__main__":
  n = int(input())
  for x in range (10**(n-1),10**(n),1):
    x = str(x)
    flag = 1
    if(n%2 == 1):
      t = ((n-1)//2)
    else:
      t = (n//2)
    for i in range(0,t):
      if x[i] != x[n-1-i]:
          flag = 0 
          break
    if flag != 0:
      print(int(x))
       

分解质因数

def isprime(n):
  #判断素数看能不能在1-开方n的范围内被整除即可
  for i in range(2,int(n**(0.5))+1):
    if n%i == 0:
      return True 
  return  False
# def isderive(i,a,b):

if __name__ == "__main__":
   a,b = map(int,input().split())
   for i in range(a,b+1):
    if isprime(i) == False :
      print('{} = {}'.format(i,i))
    else:
      print('{} = '.format(i),end='')
      for j in range(2,b):
        if isprime(j) == False :
            flag =1
            while flag == 1:
              if i%j ==0:
                print('{}'.format(j),end='')
                i  = i//j
                if (i != 1):
                  print(' * ',end ='')
                else :
                  print()
              else: 
                flag = 0
                
       

 方阵乘法

def mul(mar,m,n):#n是相乘几次
  p = [[] for _ in range(m)]
  if n == 0:
    for i in range(m):
      for j in range(m):
        if i== j:
          p[i].append(1)
        else:
          p[i].append(0)
  else:
    for x in range(m):
      for y in range(m):
          sum = 0
          for k in range(m):
            sum = mar[x][k]*mar[k][y]+sum
          p[x].append(sum)
  return p
if __name__ == "__main__":
  m,n = map(int,input().split())
  matrix = [[] for _ in range(m)]
  for i in range(m):
    row = input().split()
    for j in range(m):
      matrix[i].append(int(row[j]))
  
  # print(mul(matrix,m,n))
  for i in range(m):
    for j in range(m):
      print('{} '.format(mul(matrix,m,n)[i][j]),end ='')
    print()
#  上面是输出测试

矩阵定义

def Receive_data(m,n,matrix):
    for i in range(m):
        row = input().split()  #得到输入的一串字符串,按照空格给分割好
        for j in range(n):
            matrix[i].append(int(row[j])) #按照字符串的索引进行添加
    return matrix

main:
  m,n = map(int,input().split())
   matrix = [[] for _ in range(m)] #m为行,单维list是列,因此要要为列开拓行
  接着调用函数就可以

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值