1. 程式人生 > 其它 >CCF-CSP考試使用python編寫時的注意點

CCF-CSP考試使用python編寫時的注意點

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 -- 分隔符,預設為所有的空字元,包括空格、換行(\n)、製表符(\t)等。
  • 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://blog.csdn.net/u013495762/article/details/82870455
https://www.cnblogs.com/lincappu/p/8179475.html(map函式用法)
https://blog.csdn.net/www_helloworld_com/article/details/82875433