35 lines
956 B
Python
35 lines
956 B
Python
from decimal import Decimal
|
|
#引入decimal模块是因为python不是默认高精浮点数
|
|
|
|
def main():
|
|
print('==Exercise 6==')
|
|
|
|
i = input("Input the temperature you like to convert? (e.g., 45F, 102C etc.) :").lower()
|
|
|
|
ins = ""
|
|
use_celsius = False
|
|
|
|
for ii in i:
|
|
if ii in '1234567890.':
|
|
ins+=ii
|
|
elif ii in 'cf':
|
|
use_celsius = ii == 'c'
|
|
break
|
|
else:
|
|
print(f"Unexcepted char {ii}! Ignored.")
|
|
if len(ins)!=len(i)-1:
|
|
print(f"WARNING! content below \'c\' or \'f\' is ignored! (using {ins} {'c' if use_celsius else 'f'})")
|
|
|
|
ins = Decimal(ins)
|
|
#c/5 = f-32/9
|
|
#f = c*9/5+32
|
|
#c = (f-32)*5/9
|
|
o = ins*9/5+Decimal(32.0) if use_celsius else (ins-Decimal(32.0))*5/9
|
|
|
|
print(f"The temperature in {'Fahrenheit' if use_celsius else 'Celsius'} is {o} degrees.")
|
|
|
|
print('==End Of Ex6==')
|
|
return 0
|
|
|
|
if __name__ == '__main__':
|
|
main() |