今天是正式開始自學Python的第一天,看到視頻中有一個題目,溫度轉換。於是暫停頁面,自己先去嘗試寫了寫。後來又研究了一下老師的程序。
#華氏度-攝氏度的轉換
print("歡迎來到華氏度-攝氏度轉換程序")
print("按1:華氏度→攝氏度")
print("按2:攝氏度→華氏度")
temp=input("請輸入你要選擇的功能:")
guess=int(temp)
if guess==1 :
temp=input("請輸入要轉換的華氏度:")
F=int(temp)
C=(F-32)/1.8
print("華氏度:"+str(F)+"F = 攝氏度:"+str(C)+"℃")
elif guess==2 :
temp=input("請輸入要轉換的攝氏度:")
C=int(temp)
F=C*1.8+32
print("攝氏度:"+str(C)+"℃ = 華氏度:"+str(F)+"F")
else :
print("輸入不符合要求!")
思路很簡單,就是通過用戶的輸入判斷用戶想要選擇的功能,然後根據不同功能,處理數字,最後輸出。
驗證如下,選擇1功能輸入:80
驗證如下,選擇2功能輸入:80
其實我的程序第一下必須輸入1或者2,如果輸入了一個字母比如a,就會在轉換成guess整型的時候,引發下面判斷的錯誤,雖然是錯誤的格式,卻沒有進入最後的:
print("輸入不符合要求!")
而且最後的輸出格式也沒有做統一的處理
#溫度轉換-老師版本
TempStr = input("請輸入帶有符號的溫度值:")
if TempStr[-1] in ['F','f']:
C = (eval(TempStr[0:-1])-32)/1.8
print("轉換後的溫度是{:.2f}C".format(C))
elif TempStr[-1] in ['C','c']:
F = 1.8*eval(TempStr[0:-1])+32
print("轉換後的溫度是{:.2f}F".format(F))
else:
print("輸入格式錯誤!")
這個程序其實需要用戶自己對自己的輸入格式做一個統一
如果輸入的是攝氏度,則應該以C結尾
如果輸入的是華氏度,則應該以F結尾
[-1]下標表示最後一個元素
format() 函數配合前面的 {:.2f}表示保留兩位小數輸出
驗證如下
Python2.6 開始,新增了一種格式化字符串的函數 str.format(),它增強了字符串格式化的功能。
基本語法是通過 {} 和 : 來代替以前的 % 。
format 函數可以接受不限個參數,位置可以不按順序。
另外還有字典方法和列表索引方法,暫不列舉