比赛时可能会用到Python, 先记一部分, 慢慢更新。
以下是个人总结,可能有不足。。。 仅供参考
输入篇:
输入篇:
1: a = input() #输入一个字符串
2: a = 类型(input()) # 输入一个类型的数, 如输入整数 a = int(input())
3: 分割输入 a, b = map(int, input().split('x')) # 以字符x分割, 若不填则为空格分割
4: 数组输入: a = list(map(int,input().split()))
5: 输入到文件尾结束:
try:
while True:
a, b=map(int, input().split())
print(a + b)
except EOFError:
pass
(Ctrl + D结束输入)
定义篇:
1: 定义一维数组: d = [0] * n
2: 定义二维数组: d = [[0 for i in range(n)] for i in range(n)]
3: 定义三维数组: d = [[[0 for i in range(n)] for i in range(n)] for i in range(n)]
格式控制篇:
1: str.rjust(n) # 左对齐n个单位
2: print('{0} 1111 {1}'.format('0000', '2222'))
3: print('{0:10} 1111 {1:10}'.format('0000', '2222'))
4: print('{first} 1111 {second}'.format(first = '0000', second = '2222'))
(对于format, 如果是数字, 后面的映射则按数字顺序, 字符串则是对应)
5: x:n x的长度不够n 补够n位
6: 类似于C语言的格式控制
print('%10.3f'%10.333)
7: print('abc', end = '\n') (end = "要输出的字符")
循环篇
1: for循环:
for i in range(begin, end, step): # begin是起始位置, end是结束位置, step为步长, 要注意区间左闭右开
print("Y", end = "\n")
2: while循环:
x = 0
while x < 5:
print('Y', end = "\n")
x += 1
3: break # 跳出当前循环
4: continue # 跳出本次循环
函数篇
函数篇:
1: 定义函数:
def function(参数): # 带返回值则可加上return, 若无返回值, 则不用
内容
return 返回值;
2: global # 声明全局函数
与C语言类型, 传进来的参数仅仅是形参, 对于list等可修改, 但对于需要修改的int型等
可以定义全局变量再在函数中声明来进行修改
例如实现exgcd:
x = 0
y = 0
def exgcd(a, b):
global x, y
if b == 0:
x = 1
y = 0
return a
else:
d = exgcd(b, a % b)
t = x
x = y
y = t - (a // b) * y
return d
其他
ord(字符) = ASCII值
chr(数值) = 字符
print(ans[::-1]) //倒着输出
整除是 //