1. 簡述編譯型與解釋型語言的區別,且分別列出你知道的哪些語言屬於編譯型,哪些屬於解釋型python
答:首先,編譯型與解釋型語言都屬於高級語言。高級語言須要轉換成二進制,而後CPU運行,因此二者是根據轉換二進制方式的不一樣而進行區分的。c++
編譯型(翻譯類):把我能讀懂的代碼編譯(翻譯)成機器能讀懂的代碼,而後讓CPU運行。因此依賴編譯器,寫錯的話須要從新編譯運行,開發效率低。例如c c++ Delphi Go等等編程
解釋型:經過解釋器把源代碼邊解釋成機器指令,邊讓CPU運行。因此要有解釋器,系統要支持python(windows須要安裝,Linus,mac默認自帶),寫錯了直接改源碼再翻譯,不須要先翻譯成二進制,開發效率高。例如python Java PHP windows
•執行效率: 編譯型:翻譯成了計算機直接能理解的語言後直接運行,因此執行效率高。編輯器
解釋型:全部代碼須要邊執行邊運行,不能生成二進制代碼,運行效率低。spa
•跨平臺性(Windows,Linus,): 編譯型:經過操做系統運行個人源代碼,就是說在不一樣的操做系統上調用不一樣的指令。跨平臺性差操作系統
解釋型:最大的特色就是跨平臺,解釋器作好了對不一樣平臺的交互處理,一份源代碼,全部平臺可直接執行。命令行
2. 執行 Python 腳本(script)的兩種方式是什麼翻譯
答:方法一:(內存操做)在windows命令行窗口鍵入python(事先你須安裝好python,並配置好path),運行效果:code
→
方法二:(硬盤操做)安裝好Python後,它會自帶一個IDLE編輯器,或者下載一個編輯器pycharm......
3. Pyhton 單行註釋和多行註釋分別用什麼
答:1、python單行註釋符號(#):#號右邊的內容在執行的時候是不會被輸出的
2、批量、多行註釋符號:多行註釋是用三引號''' '''包含,例如:
4.布爾值(bool)分別有什麼
答:True 和Flase
5.聲明變量注意事項有那些
答:聲明變量:先賦值
下劃線爲官方命名方式。
6.如何查看變量在內存中的地址
答:id
(變量名)
#查看內存地址 , print(id(變量名))
7. 寫代碼
i. 實現用戶輸入用戶名和密碼,當用戶名爲 seven 且 密碼爲 123 時,顯示登錄成功,不然登錄失敗!
user_name=input('user_name:') passwd=int(input('passwd:')) if user_name=='seven' and passwd==123: print('登錄成功') else: print('登錄失敗')
i. 實現用戶輸入用戶名和密碼,當用戶名爲 seven 且 密碼爲 123 時,顯示登錄成功,不然登錄失敗,失敗時容許重複輸入三次
count=0 while count<3: user_name = input('user_name:') passwd = int(input('passwd:')) if user_name=='seven' and passwd==123: print('登錄成功') break else: print('登錄失敗') count+=1
iii. 實現用戶輸入用戶名和密碼,當用戶名爲 seven 或 alex 且 密碼爲 123 時,顯示登錄成功,不然登錄失敗,失敗時容許重複輸入三次
count=0 while count<3: user_name = input('user_name:') passwd = int(input('passwd:')) if user_name=='seven' or user_name=='alex' and passwd==123: print('登錄成功') break else: print('登錄失敗') count+=1
8.寫代碼
a. 使用while循環實現輸出2-3+4-5+6...+100 的和
i=2 count1=0 count2=0 while i<=100: if i%2==0: count1+=i else: count2+=-i i+=1 count=count1+count2 print(count)
i=2 h=0 while i <= 100: if i%2 == 0: h+=i elif i%2 == 1: h-=i i+=1 print(h)
print(sum(map(lambda x: x * -1 if x % 2 == 0 else x, [x for x in range(100) if x != 88])))
b. 使用 while 循環實現輸出 1,2,3,4,5, 7,8,9, 11,12
i=1 while i<=12: if i != 6 and i != 10: print(i) i+=1
c. 使用while 循環輸出100-50,從大到小,如100,99,98...,到50時再從0循環輸出到50,而後結束
count=100 while count>=50: print(count) count-=1 if count==50: count=1 while count<=50: print(count) count+=1 break
d. 使用 while 循環實現輸出 1-100 內的全部奇數
i=1 while i<=100: print(i) i+=2
i=1 while i<=100: if i%2==1: print(i) i+=2
e. 使用 while 循環實現輸出 1-100 內的全部偶數
i=2 while i<=100: print(i) i+=2
i=1 while i<=100: if i%2==0: print(i) i+=1
f.分別用while和for range 循環實現輸出1-2+3...-99的結果
i=1 h=0 while i<=99: if i%2==0: h+=i elif i%2==1: h-=i i+=1 print(h)
h = 0 for i in range(100): if i % 2 == 0: h += i if i % 2 == 1: h -= i print(h)
g.求1-100全部偶數的和
sum=0 for x in range(1,101): if x % 2==0: print(x) sum=sum+x print("累加和是:",sum)
9.現有以下兩個變量,請簡述 n1 和 n2 是什麼關係?
n1 = 123456 n2 = n1
答:使用同一內存地址,只是變量名不一樣
10.製做趣味模板程序(編程題)
需求:等待用戶輸入名字、地點、愛好,根據用戶的名字和愛好進行任意顯示
如:敬愛可愛的xxx,最喜歡在xxx地方幹xxx
name=input('Name:') address=input('Address:') hobby=input('Hobby:') print('敬愛可愛的%s,最喜歡在%s地方幹%s' % (name,address,hobby))
11. 輸入一年份,判斷該年份是不是閏年並輸出結果。(編程題)
注:凡符合下面兩個條件之一的年份是閏年。 (1) 能被4整除但不能被100整除。 (2) 能被400整除。
year=int(input('Year:')) if year%4==0 or year%400==0 and year%100!=0: print('你猜的是閏年') else: print('你猜錯了')
12.假設一年期按期利率爲3.25%,計算一下須要過多少年,一萬元的一年按期存款連本帶息能翻番?(編程題)
持有=10000年=0
利率=0.0325 while 持有<20000: 年+=1 持有=持有*(1+利率) print('%s年之後,存款會翻番'%year)
13.編寫登錄接口
基礎需求:
升級需求:
一. 基礎需求
user_name='alex' passwd=123 count=0 while count<3: n1=input('請輸入你的用戶名:') n2= int(input('請輸入你的密碼:')) if n1==user_name and n2==passwd: print('Welocome '.center(20,'-')) break else: if n1==user_name and n2!=passwd: print('你的密碼錯誤') elif n1!=user_name and n2==passwd: print('你的用戶名錯誤') else: print('你的用戶名和密碼都錯誤') count+=1 if count==1: print('您還有兩次機會') elif count==2: print('您還有一次機會') elif count==3: print('你的認證登錄失敗'.center(20,'-'))
二. 升級需求
user_info = { 'alex': '123', 'shanshan': '456', 'longting': '789' } f = open('D:\lock_user\sa.txt', 'r', encoding='utf-8') lock_users = f.readlines() exit_flag = False count = 0 def put(): global exit_flag # 聲明全局變量 exit_flag = True while count < 3: user_name = input('輸入你的用戶名:') password = input('輸入你的密碼:') if user_name in user_info and user_name not in lock_users: if password == user_info[user_name]: print('登錄成功'.center(30, '*')) put() break else: print('你的密碼錯誤'.center(30, '*')) count += 1 if count < 3: print('你還有%s次登錄機會' % (3-count)) elif count == 3: print('你的認證登錄失敗,帳號已被鎖定'.center(20, '*')) f = open('D:\lock_user\sa.txt', 'w', encoding='utf-8') f.write(user_name) f.close() put() break elif user_name in lock_users: print('對不起,你的用戶已被鎖定!') put() break else: print('用戶名不存在!') put()
14.猜年齡
練習1:猜年齡遊戲
要求:
練習2:猜年齡遊戲升級版
要求:
count=0 age=22 while count<3: guess=int(input("你猜的年齡是:")) if guess==age: print('--------恭喜你猜對了----------') break elif guess>age: print('猜大了') else : print('猜小了') count+=1
count=0 age=22 while count<3: guess=int(input("你猜的年齡是:")) if guess==age: print('--------恭喜你猜對了----------') break elif guess>age: print('猜大了') else : print('猜小了') count+=1 if count==3: print('-------遊戲結束,你是否還想玩兒-------') print('輸入Y/y,繼續玩兒遊戲, 輸入N/n則退出') choice=input('請選擇:') if choice=='Y' or choice=='y': count=0 elif choice=='N' or choice=='n': print('你將退出遊戲')