Python:程序練習題(二)


Python:程序練習題(二)

 

2.1溫度轉換程序。

 

代碼如下:

t=input("請輸入帶符號的溫度值(如:32C):") if t[-1] in ["C","c"]: f=1.8*float(t[0:-1])+32

    print("轉換后的溫度為:%.0fF"%f) elif t[-1] in ["F","f"]: c=(float(t[0:-1])-32)/1.8

    print("轉換后的溫度為:%.0fC"%c) else: print("輸入錯誤!")

 

 

知識點整理:

1.t[-1]表示取輸入值的倒數第一個元素,此處是取最后一個字符(C/c/F/f)。

2.t[0:-1]表示第一個元素到倒數第二個元素的切片,簡單的說,就是表示除最后一個字符以外的字符串。

3.%.0f表示取整,%f指輸出變量f

 

 

運行結果:

 

 

 

 

 

 

 

 

上面可以看到,只輸入數字會顯示錯誤,而只輸入符號會怎么樣呢?讓我們試着輸入一個符號,結果顯示如下。

 

 

 

出錯的原因是無法將字符型變量轉換為浮點型float,因此無法進行計算。

 

 

現修改實例2.1,采用eval(input(<提示內容>))替換現有輸入部分,並使輸出的溫度值為整數。

 

代碼如下:

t = eval(input('請輸入溫度值(無單位):')) d = input('請輸入單位:') if d in ['f', 'F']: c = (t - 32)/1.8

    print('轉換后的溫度為:{:.0f}C'.format(c)) elif d in ['c', 'C']: f = 1.8*t + 32

    print('轉換后的溫度為:{:.0f}F'.format(f)) else: print('輸入錯誤!')

 

 

運行結果:

 

 

 

 

 

2.2匯率兌換程序。按照溫度轉換程序的設計思路,按照1美元=6人民幣匯率編寫一個美元和人民幣的雙向兌換程序。

 

代碼如下:

t=input("請輸入帶單位的金錢數(如30¥):") if t[-1] in [""]: m=eval(t[:-1])/6

    print("兌換后為:{:.2f}$".format(m)) elif t[-1] in ["$"]: r=6*eval(t[:-1]) print("兌換后為:{:.2f}¥".format(r)) else: print("輸入錯誤!")

 

 

知識點整理:

1.eval(<字符串>)函數能夠以Python表達式的方式解析並執行字符串,並將返回結果輸出。

2.Python語言中,字符串通過format()方法進行格式化處理。

  format方法的基本使用格式如下:

    <字符串>.format(<逗號分隔的參數>)

print("{}".format(m)),其中{}輸出的是m的值。

 

 

運行結果:

 

 

 

 

 

 

 

4.4猜數游戲。

 

代碼如下:

import random w=0#定義w並初始化
p=random.randint(0,100) N=0 while w!=p: N+=1

    #這句不能單獨拿出while循環外,否則會無限循環
    w=int(input('請輸入一個0-100之間的整數:')) if w>p: print('遺憾,太大了!') elif w<p: print('遺憾,太小了!') else: print('預測'+str(N)+'次,你猜中了!') break        

 

 

知識點整理:

1.random庫采用梅森旋轉算法生成偽隨機數序列,提供了不同類型的隨機數函數,所有函數都是基於最基本的random.random()函數擴展實現。

2.randint(a,b)random庫的常用函數之一,用於生成一個[a,b]之間的整數。

3.str(N)是將N的數據類型轉換為String類型,因為python拼接字符串比較特殊,無法自動轉換數據類型。

4.break用來跳出最內層forwhile循環,脫離該循環后程序從循環代碼后繼續執行。

 

 

運行結果:

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM