宣告:一些很無聊的python填空題,要是面試遇到,不要猶豫,一巴掌甩過去,然後說:「老子大老遠跑過來面試,衣服都溼了,你就給我看這個?」開玩笑啦,反正很不爽就是了
>>> x, y = ???, ???>>> x.count(y) > len(x)
true
意思是說有沒有合適的x,y使得y在x中出現的次數大於x的長度。一般來說,字串長度為5,我們會認為最多5個字母一樣,出現5次,不會有多的。即"aaaaa".count("a")等於「aaaaa」長度
事實上x, y = "a", ""滿足題意。因為任意字串count("")等於其長度加1.
x = "任意字串"x.count("") == len(x)+1 > len(x)
>>> x, y = ???, ???>>> y in x and y > max(x)
true
一般來說,y in x成立,那麼y應該<=max(x).因為y in x說明y是x子集,子集小於等於全集的最大值,y==max(x)是十分好實現好理解的,y>max(x)就比較難了。解題思路在於max,max返回的是乙個元素,數量或者說長度為1,只要y長度比1大,並且某種型別比較大小時,長度參與計算,長的比短的大,如此推理,答案就出來了
x, y = "aaaaaaaaaaaaaaaaaa", "aa"顯然y in x成立。max(x)是"a", "aa">"a", 所以 y > max(x)成立。
>>> x, y, z = ???, ???, ???>>> x * (y * z) != (x * y) * z
true
第一反應就是y和z都是負數,yz先乘變正數,接下來就是要找合適的x,滿足x*1 != x*-1即可。很榮幸告訴你,python裡有,比如列表。[1] * n表示列表重複(翻倍)n次,但是n<=0時,當作清空列表。
x, y, z = [0,0], -1, -1
x * (y * z)結果是[0, 0], 但(x * y) * z結果是.所以不等。
這只是站在python層面解決問題,利用列表的冷門特例。下面給的答案,更有水平
x, y, z = float("nan"), 任意整數, 任意整數.
(float("nan")*2)*3 != float("nan")*(2*3)原因是rfc***,自己去看,很無聊。總之就是浮點數有個特殊值nan,tm的自己跟自己都不等
>>> x, s = ???, ???>>> s.add(x)
>>> type(x) not in map(type, s)
true
意思是說x新增進s,但是查詢s裡面所有元素的型別,卻發現沒有x的型別。不好推理出答案,直接給答案。x, s = true, ,至於解釋看一步步結果便知
>>> x, s = true,>>> true in s
true
>>> 1 in s
true
>>> s.add(x)
>>> s
set([1])
>>> type(x)
< type 'bool'>
>>> map(type, s)
[< type 'int'>]
明白了沒,對於集合,是計算hash的,true和1他認為是乙個東西,所以不再把true新增進去,對於type而言,true和1是兩個型別。其實這個可以認為是python的bug,true應該和1有不同的hash值
>>> x, y = ???, ???>>> min(x, y) != min(y, x)
true
直接來第乙個答案x, y = , 。xy是隨意兩個集合就行,min(x, y)始終返回x,至於為什麼沒找到解釋。大神可賜教
第二個答案當然是萬能的float("nan"),管你大爺的min返回啥,自個都不等,你還能不成立?
6.自身比較
>>> x = ???同理自己大於自己,自己不等於自己,類似實現>>> x < x//自己比自己小
true
python知識點 二
在執行python命令的時候需要攜帶的引數稱之為命令列引數 python m py.compile d demo1.py m py.compile d demo1.py就是命令列引數 python中也可以用sys內建模組的sys.ar 來獲取命令列引數 sys.ar 是命令列引數列表 舉例 pyth...
python函式知識點 二
目錄 一.函式物件 二.函式巢狀 三.命名空間與作用域 四.閉包函式 五.裝飾器 1.函式是第一類物件,即函式可以當作資料傳遞 1 可以被引用 2 可以當作引數傳遞 3 返回值可以是函式 3 可以當作容器型別的元素2.利用該特性,優雅的取代多分支的if 不然要是有很多個函式的話,就要寫很多個if e...
python知識點筆記二
1.python 中,字串變數提供了 3 種方法來刪除字串中多餘的空格和特殊字元,它們分別是 strip 刪除字串前後 左右兩側 的空格或特殊字元。lstrip 刪除字串前面 左邊 的空格或特殊字元。rstrip 刪除字串後面 右邊 的空格或特殊字元。注意,python 的 str 是不可變的 不可...