用python做OI题实在不是一个明智的选择
if __name__ == "__main__":相当于c艹的int main(),然而似乎没有也可以?
重定向标准输入输出流:sys.stdin = open("test.in","r")
sys.stdout = open("test.out","w")
等于freopen
最后需要关闭文件:sys.stdin.close()
输入一行两个整数:x, y = map(int, raw_input().split()),多个整数似乎是赋到一个list里?
python中单个变量不能做全局变量(可以强制全局但是不好用),list应该是可以的,其它不知道
python似乎不能将两行代码合并?想要同时给两个变量赋不同的值需要:a, b = c, d
python的变量类型非常不清楚,所以出现奇奇怪怪的错误时最好检查一下变量类型
查看方法:type(变量)
eval()太好用辣!
eval不能识别'^',需要将'^'转化为'**'
将字符串变成list:list(字符串),将list变成字符串:"".join(list),其中""表示空字符串,如果list = ['a', 'b', 'c'],"#".join(list)就是"a#b#c","".join(list)就是"abc"
迭代不如c艹的for灵活,有时候还是要声明一个i然后while
2.7的print似乎怎么搞最后都会有换行或空格,如果不要空格也不要回车就声明一个list然后append然后join
int(chr)是把chr的数字字符转化为整数(要求chr里面的字符全是数字),ord(chr)才是转化为ascii
用eval的时候如果有数字,就自动视为变量,eval是坠吼的!
使用str.replace(' ','')来去掉字符串中的所有空格
for i in rang(len(b))如果len(b)变了,依旧会循环到以前的len(b)
使用list.insert(x, y)来在list中下标x的前面插入y(插入后y的下标为x
list.sort()全部排序
如果在编辑器中的缩进到IDLE里面全乱了,可以在编辑器中把tab改成空格(notepad里面是首选项->制表符设置->转化为空格
python的abs是一个参数(取绝对值)
使用+=来连接或在字符串后面添加字符
交换两个数:x, y = y, x
将正则表达式a和字符串b匹配:"if re.compile(a).match(b):"(注意' '也在正则表达式的匹配范围内。。。。。。
读到文件末尾:
while True:
a = sys.stdin.readline()