程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python小實例攝氏度華氏度轉換

編輯:Python

攝氏度<>華氏度轉換

今天是正式開始自學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}表示保留兩位小數輸出
驗證如下

附:format()函數學習

Python2.6 開始,新增了一種格式化字符串的函數 str.format(),它增強了字符串格式化的功能。
基本語法是通過 {} 和 : 來代替以前的 % 。
format 函數可以接受不限個參數,位置可以不按順序。


另外還有字典方法和列表索引方法,暫不列舉


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved