CCF 编译器使用IDLE
- python版本是3.6.5
- 不能使用numpy这些第三方库,只能使用自带的库
- 模拟考试题目给的限制时间小于正常考试时间,即
正常时长/10 = 模拟测试时间
- CCF考试时给的内存一般都比较大
准备的东西
- 训练题:(1)ACM题库。(2)CCF-CSP真题,总结每年题型。
- 书籍:CCF—CSP考试是可以带书进去的:(1)如果对语法掌握不熟练的话可以带一本编程语言书。(2)算法书,有资源的可以找一本ACM培训竞赛书,前面也说过书上的算法对付考试是不行的。需要更好的算法。
- 每天写程序,不能手生,最少得2h,适应4h的考试时间。
CCF会员
- 如果是学生,可以充值一下CCF会员,两年也就75元,有了会员资格报名也会便宜很多
- 不是学生,想提交测验一下代码:(1)借别人的CCF会员账号,支持两人同时登陆;(2)借别人的学生证,自己充钱。
1、input (转化为int)
Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。
# 将输入的变量,以空格划分
x,y,z = list(map(int, input().split()))
当然除了input()函数还有sys模块带有标准输入
,一般情况下比input()函数快4倍,这里注意下区别,input()把读到的行用字符串的形式返回,但不会返回行尾的换行符,而sys.stdin.readline()
则会,加上strip()函数效果就一样了
arr=sys.stdin.readline().strip()
2、split
Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串。返回分割后的字符串列表。
str.split(str="", num=string.count(str)).
- str -- 分隔符,默认为所有的空字符,包括空格、换行( )、制表符( )等。
- num -- 分割次数。默认为 -1, 即分隔所有。
3、List
空间申请
IndexError:list assignment index out of range
ERROR code
b = []
for i in range(10):
b[i] = 7
空数组不能直接指定位置,list是一个空的,没有一个元素,进行list[0]就会出现错误!
解决方法1
b.append(1)
解决方法2
生成一个定长的list:
b=[0]*len(data)
b[1]=1
#### list的插入和删除 ``` aList = [123, 'xyz', 'zara', 'abc', 'xyz']; aList.remove('xyz') alist.insert(index,obj) obj=alist.pop(index) #defalut index=-1即最后一个元素 ```
4、输出格式如1 2 3 4
ans=[1,2,3,4]
print(' '.join(map(str,ans)))
map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回
参考
https://www.jianshu.com/p/0f2c1e43b2a4
https://blog.csdn.net/gufenchen/article/details/100165861
https://blog.csdn.net/u013495762/article/details/82870455
https://www.cnblogs.com/lincappu/p/8179475.html(map函数用法)