Python金典面試題
- 2020 年 1 月 8 日
- 筆記
- 在Linux電腦上安裝python,ipython,pycharm專業版本軟體; (1)在Python官方網站上下載所安裝包 (2)安裝 安裝python[root@localhost code1]# yum install python -y #安裝源在鏡像文件 中,需配置yum源

安裝ipython 得到了ipython及依賴性軟體,放在目錄中 [root@localhost ipython]# yum install * -y

得到pycharm專業版本軟體的壓縮包 [root@localhost code1]# tar xf pycharm-professional-2017.2.3.tar.gz -C /opt/ [root@localhost opt]# cd pycharm-2017.2.3/ [root@localhost pycharm-2017.2.3]# ls Install-Linux-tar.txt #此文件中寫了運行該軟體的方法 [root@localhost pycharm-2017.2.3]# cd bin/ [root@localhost bin]# ./pycharm.sh

- 在Windows電腦上安裝python3版本,並配置環境變數,確保Dos環境下運行腳本;
軟體下載:訪問官網https://www.python.org/—download dos調用: 配置環境變數: 我的電腦–>系統屬性(左上角)–>高級系統設置(左邊)–>環境變數(右下)–>path中添加python的安裝目錄: win鍵+R進入dos
- Linux下有多少種運行python的不同方法,並分析各自優缺點。並說說你最喜歡哪一種? 兩種方式 (1)直接用戶python xx.py執行
[root@localhost code1]# vim three.py

#!/usr/bin/env python #coding:utf-8
print "hello everyone" s = "你好" print s [root@localhost code1]# python three.py hello everyone 你好


(2)編輯器編輯 chmod +x xx.py #加可執行許可權 ./xx.py #絕對路徑運行 [root@localhost code1]# chmod +x three.py [root@localhost code1]# ./three.py hello everyone 你好

- 編寫腳本,使用print語句編寫腳本在螢幕上顯示你名字、年齡、最喜歡的顏色 和與你相關的一些事情(背景、興趣、愛好等等);
[root@localhost code1]# vim myself.py

#!/usr/bin/env python #coding:utf-8
print """ **myself 名字:Unique 年齡:22 我最喜歡的顏色:粉色 愛好:play """

[root@localhost code1]# python myself.py
**myself 名字:Unique 年齡:22 我最喜歡的顏色:粉色 愛好:play

- 閱讀下面的 Python 腳本: #!/usr/bin/env python 1 + 2 * 4 a) 你認為這段腳本是用來做什麼的? b) 你認為這段腳本會輸出什麼? c) 輸入以上代 碼,並保存為腳本,然後運行它。它所做的與你的預期一樣嗎?為什麼一樣/不一樣? d) 這段程式碼單獨執行和在交互解釋器中執行有何不同? 試一下,然後寫出結果 e) 如何改進這個腳本, 以便它能和你想像的一 樣工作?
a)數學運算 b)輸出結果 c)不一樣,它只是列印了引號中的內容並沒有參與運算



d)[root@localhost code1]# ipython n [1]: 1 + 2 4 Out[1]: 9

e) [root@localhost code1]# vim python.py

#!/usr/bin/env python #coding:utf-8 m = input("num1:") n = input("num2:") x = input("num3:") print "%d+%d%d=%d" %(m,n,x,m+nx)

[root@localhost code1]# python python.py num1:1 num2:2 num3:3 1+23=7

- 變數賦值: 1). 賦值語句 x, y, z = 1, 2, 3 會在 x、y、z 中分別賦什麼值? 2). 執行 z, x, y = y, z, x 後,x、y、z 中分別含有什麼值? [root@localhost code1]# ipython
In [1]: x, y, z = 1, 2, 3
In [2]: x Out[2]: 1
In [3]: y Out[3]: 2
In [4]: z Out[4]: 3
In [5]: z, x, y = y, z, x
In [6]: x Out[6]: 3
In [7]: y Out[7]: 1
In [8]: z Out[8]: 2
- 標識符。下面哪些是 Python 合法的標識符?如果不是,請說明理由!
int32 40XL $aving$ printf print _print this self name 0x40L bool true big-westos 2hot2ls type thisIs thisisInt R_UReady Int True if do counter-1 access
Python 合法的標識符int32 printf _print self thisIs thisisInt R_UReady
Python標示符 (1)長度任意長 (2)標示符不能和關鍵字同名,不能包含運算符 (3)以字母(大小寫均可)或以下劃線_開頭,接下來可以重複0到多次(包括字母,數字,下劃線) 約定: (1)不要使用Python預定義的標示符,因此應該避免使用NotImplemented與Eliiipsis等名字,這些在未來有可能被Python新版本使用到; (2)不要使用Python內置函數名或內置數據類型或異常名作為標示符 (3)關於下劃線的約定,名字的開頭和結尾都使用下劃線的情況應該避免,因為Python中大量採用這種名字定義了各種特殊方法和變數;在有些情況下,以一個或兩個下劃線引導的名稱,但是沒有使用兩個下劃線結尾的應該特殊對待
- 帶循環和條件判斷的給定一個數值num, 用戶輸入使用raw_input()函數來提示用戶輸入一個1和100之間的數,如果用戶輸入的數等於num, 顯示成功並退出。否則顯示一個錯誤資訊然後再次提示用戶輸入數值,直到滿足條件為止。
while True: num = raw_input("輸入一個1到100之間的數:") if num>1 and num<100: print "成功" break else: print "錯誤" countinue
- (if..elif..elif..else考察, 循環語句的考察) 帶文本菜單的程式寫一個帶文本菜單的程式,菜單項如下 (1) 取五個數的和 (2) 取五個數的平均 值 …. (X)退出。(exit())
由用戶做一個選擇,然後執行相應的功能.當用戶選擇退出時程式結束。這個程式的有用之處在於用戶在功能之間切換不需要一遍一遍的重新啟動你的腳本。
vim yonghu1.py

#!/usr/bin/env python #coding:utf-8
yonghu = "" while True: print """ 1 取五個數的和 2 取五個數的平均數 3 退出""" yonghu = raw_input("請輸入編號:") if yonghu == '3': print '退出' exit() elif yonghu == '2': print 'handle with average' elif yonghu == '1': print 'handle with add' else: print '輸入有誤,重新輸入'

[root@localhost code1]# python yonghu1.py
1 取五個數的和 2 取五個數的平均數 3 退出
請輸入編號:5 輸入有誤,重新輸入
1 取五個數的和 2 取五個數的平均數 3 退出
請輸入編號:1 handle with add
1 取五個數的和 2 取五個數的平均數 3 退出
請輸入編號:2 handle with average
1 取五個數的和 2 取五個數的平均數 3 退出
請輸入編號:3 退出

~
- 有1、2、3、4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少? [root@localhost code1]# python shuzi.py

#!/usr/bin/env python #coding:utf-8 for i in range(1,5): for j in range(1,5): for m in range(1,5): if i!=j and j!=m and i!=m: print "%d%d%d" %(i,j,m),

[root@localhost code1]# python shuzi.py 123 124 132 134 142 143 213 214 231 234 241 243 312 314 321 324 341 342 412 413 421 423 431 432
