Python小白學習 01 輸入

2021-08-21 13:13:10 字數 1420 閱讀 7247

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 類例項化就自動呼叫此建構...