A+B问题
A,B=map(int,input().split());
print(A+B);
数列从小到大排序
n = int(input())
arr = list(map(int, input().split()))
arr.sort()
for i in range(n):
print(arr[i], end= ' ')
十六进制转八进制
n=int(input())
li=[]
for i in range(n):
if n<=10:
s=input()#所有输入默认字符串
if len(s)<=100000:
res_1=int(s,16)#这里的int(s,16)代表把16进制的s转化成10进制
res_2=oct(res_1)#这里的oct代表把一个整数转化为八进制
li.append(res_2[2:])#这里的[2:]是代表结果从第三位开始取
for i in li:
print(i,end='\n')
十六进制转十进制
str1=input()
num=int(str1,16)#int(str1,16)表示把一个16进制的数转化为10进制
print(num)
十进制转16进制
n=int(input())
if n>=0 and n<=2147483647:
s=hex(n).upper()#.upper()将字符串中的小写字符自动转化为大写
print(s[2:])
'''这里拓展一下字符串大小写转化的方法:
lower()方法可将字符串中的所有大写字母变为小写
而capwords并不是字符串本身的方法,而是string模块中的函数,
使用capwords函数将一个字符串中的所有独立的英文单词的首字母都转换为大写。
'''
'''
import string
s='CASsds sads'
print(string.capwords(s))
'''
特殊回文数
n=int(input())
for i in range(10000,1000000):
a=str(i)
b=0
if a==a[::-1]:#这里的a[::-1]表示把字符串a倒序
for j in a:
b+=int(j)
if b==n:
print(a)
回文数
for i in range(1000,10000):
if str(i)==str(i)[::-1]:#str(i)[::-1]作用是将字符串倒置
print(i)
特殊的数字
for i in range(100,1000):
a=list(str(i))
if i==pow(int(a[0]),3)+pow(int(a[1]),3)+pow(int(a[2]),3):
print(i)
'''
pow(x,y)表示求解x的y次幂
pow(x,y,z)表示求解x的y次幂对z取余后的结果
'''
杨辉三角
n=int(input())
nums=[[0]*n for i in range(n)]#初始化一个n*n的零阵
for i in range(n):
for j in range(n):
if j==0:
nums[i][j]=1
else:
nums[i][j]=nums[i-1][j-1]+nums[i-1][j]
if nums[i][j]!=0:
print(nums[i][j],end=' ')
print()
查找整数
n=int(input())
nums=list(map(int,input().split()))
a=int(input())
count=0#引入计数器
for i in range(len(nums)):
if a==nums[i]:
print(i+1)
count+=1
break
if count==0:
print(-1)
数列特征
a=int(input())
b=input().split()
nums=[int(i) for i in b]
print(max(nums))#使用python内置函数很方便,=.=
print(min(nums))
print(sum(nums))
字母图形
m,n = map(int,input().split())
for i in range(m):
for j in range(n):
print(chr(65+abs(i-j)),end = "")
print("")
01字串
for i in range(32):
print(f'{i:0>5b}')
闰年判断
n = int(input())
if n % 4:
print('no')
else:
print('yes')
Fibonacci数列
n = int(input())
record = [1, 1]
for i in range(2, n):
temp = (record[0]+record[1]) % 10007
record[0] = record[1]
record[1] = temp
print(record[1])
圆的面积
import math as m
r = float(input())
s = m.pi * r**2
print(f'{s:.7f}')
序列求和
n = int(input())
result = int((1+n)*n/2)
print(result)
阶乘计算
import math as m
print(m.factorial(int(input())))
高精度加法
num1 = int(input())
num2 = int(input())
print(num1+num2)
Huffuman树
n = int(input())
num_list = list(map(int, input().split()))
result = 0
for i in range(n-1):
min1 = min(num_list)
num_list.remove(min1)
min2 = min(num_list)
num_list.remove(min2)
min_sum = min1 + min2
result += min_sum
num_list.append(min_sum)
print(result)
2n皇后问题
from collections import defaultdict
n = int(input())
board = []
for i in range(n):
board.append(input().split())
col1 = defaultdict(bool)
dia11 = defaultdict(bool)
dia21 = defaultdict(bool)
col2 = defaultdict(bool)
dia12 = defaultdict(bool)
dia22 = defaultdict(bool)
count = 0
def dfs2(index):
global count
if index == n:
count += 1
return
for j in range(n):
if not col2[j] and not dia12[index + j] and not dia22[index - j] \
and board[index][j] == "1":
col2[j] = True
dia12[index + j] = True
dia22[index - j] = True
board[index][j] = "0"
dfs2(index + 1)
col2[j] = False
dia12[index + j] = False
dia22[index - j] = False
board[index][j] = "1"
return 0
def dfs1(index):
if n <= 0:
return 0
if index == n:
dfs2(0)
return
for j in range(n):
if not col1[j] and not dia11[index + j] and not dia21[index - j] \
and board[index][j] == "1":
col1[j] = True
dia11[index + j] = True
dia21[index - j] = True
board[index][j] = "0"
dfs1(index + 1)
col1[j] = False
dia11[index + j] = False
dia21[index - j] = False
board[index][j] = "1"
return 0
dfs1(0)
print(count)
报时助手
def translator(num):
my_dict = {0: "zero",
1: "one",
2: "two",
3: "three",
4: "four",
5: "five",
6: "six",
7: "seven",
8: "eight",
9: "nine",
10: "ten",
11: "eleven",
12: "twelve",
13: "thirteen",
14: "fourteen",
15: "fifteen",
16: "sixteen",
17: "seventeen",
18: "eighteen",
19: "nineteen",
20: "twenty",
30: "thirty",
40: "forty",
50: "fifty"}
if num in my_dict.keys():
return my_dict[num]
else:
num1, num2 = divmod(num, 10)
return my_dict[num1*10] + ' ' + my_dict[num2]
time = list(map(int, input().split()))
h, m = time[0], time[1]
if m == 0:
print(translator(h) + " o'clock")
else:
print(translator(h) + " " + translator(m))
回型取数
def my_print(my_mat):
_m = len(my_mat)
_n = len(my_mat[0])
max_print = _m * _n
num = 0
for l in range(_m):
num += 1
print(my_mat[l][0], end=' ')
for b in range(1, _n):
num += 1
print(my_mat[-1][b], end=' ')
for r in list(range(_m - 1))[::-1]:
num += 1
if num > max_print:
return 1
print(my_mat[r][-1], end=' ')
for t in list(range(1, _n - 1))[::-1]:
num += 1
if num > max_print:
return 1
print(my_mat[0][t], end=' ')
if _m >= 3 and _n >= 3:
new_list = []
for i in range(1, _m-1):
new_list.append(my_mat[i][1:_n-1])
my_print(new_list)
else:
return 1
m, n = map(int, input().split())
list0 = []
for i in range(m):
list0.append(list(map(int, input().split())))
my_print(list0)