1. sys.stdin.readline()和input()區別
#********sys.stdin.readline()作為輸入
import sys
line = sys.stdin.readline() #nihao
print(line) #nihao \n
print(line.strip()) #nihao
print(type(line)) ##*******input()作為輸入時
line = input()#python3用的是input(),不用raw_input()
print(line) #nihao
print(line.strip()) #nihao
print(type(line))
2. 例項練習
#****************題目******************************
# 設有n個正整數,將他們連線成一排,組成乙個最大的多位整數。
# 如:n=3時,3個整數13,312,343,連成的最大整數為34331213。
# 如:n=4時,4個整數7,13,4,246連線成的最大整數為7424613。
import sys
from functools import cmp_to_key
def mycmp(x,y):
if x+y >y+x:
return 1
elif x== y:
return 0
else:
return -1
for i,v in enumerate(sys.stdin.readlines()):
if i%2 == 1:
v=v.strip().split()
v.sort(key=cmp_to_key(mycmp),reverse=true)
if v[0] == '0':
print('0')
else:
print(''.join(v).lstrip('0'))
涉及到的知識點:
enumerate()函式
strip(),lstrip(),rstrip()
sort(key,reverse)。true:倒序排序;false:正序排序;
join()函式: ' -'.join(['1' , '2', '3']) 1-2-3
note:
出現的問題:嘗試使用v.sort(reverse=true)。
結果:簡單的都ok,但是29 和291比價的時候出現問題,此時輸出:29129;
應該為:29291。所以,不加cmp_to_key()存在bug。
v.sort():改變v
sorted(v):不改變v
小白學習python
super的用法 自己學習使用 可能有借鑑。super用於在子類中通過不改變父類呼叫父類方法,例如 init 如果父類中有 init 方法 子類中也含有此方法 需要呼叫父類方法時要使用super 方法。class animal def init self self.name animal self....
小白python學習筆記
1.cmd命令列下怎麼切換目錄 2.python對縮排有嚴格要求,要頂格寫,單引號 雙引號 可互換使用。3.如何在python中讓兩個print 函式輸出列印在同一行內 4.在windows下裝lightgbm包 具體是哪個教程能裝好,要自己嘗試了,費了很大功夫,最後也不知道是怎麼搞好的,反正不報錯...
Python小白學習之路
類與物件 python的成員函式在,預設有乙個self引數,這是類的成員函式與普通函式的主要區別,self,位於引數列表的開頭,self也代表類的例項 物件 自身,可以使用self引用類中的屬性和成員函式。在類的成員函式中訪問例項屬性需要以self為字首。建構函式 init 類例項化就自動呼叫此建構...