python—基礎練習1

 

 

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.編寫登錄接口

       基礎需求:

  • 讓用戶輸入用戶名密碼
  • 認證成功後顯示歡迎信息
  • 輸錯三次後退出程序

     升級需求:

  • 能夠支持多個用戶登陸 (提示,經過列表存多個帳戶信息)
  • 用戶3次認證失敗後,退出程序,再次啓動程序嘗試登陸時,仍是鎖定狀態(提示:需把用戶鎖定的狀態存到文件裏)

 

一. 基礎需求

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:猜年齡遊戲 

要求:

  1. 容許用戶最多嘗試3次,3次都沒猜對的話,就直接退出,若是猜對了,打印恭喜信息並退出

練習2:猜年齡遊戲升級版 

要求:

  1. 容許用戶最多嘗試3次
  2. 每嘗試3次後,若是還沒猜對,就問用戶是否還想繼續玩,若是回答Y或y, 就繼續讓其猜3次,以此往復,若是回答N或n,就退出程序
  3. 如何猜對了,就直接退出

 

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('你將退出遊戲')
相關文章
相關標籤/搜索