Advertisement
Guest User

Untitled

a guest
Nov 12th, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. # Helper function: Check if a string represents a real number
  2. def is_number(s):
  3. try:
  4. float(s)
  5. return True
  6. except ValueError:
  7. return False
  8.  
  9.  
  10. def convert_degree(temp, units):
  11. if not is_number(temp):
  12. return None
  13. if units == "C":
  14. temp = (temp-32.0)*5/9
  15. if temp < 0:
  16. return None
  17. elif units == "F":
  18. if temp < -273.15:
  19. return None
  20. temp = temp*9.0/5+32
  21. else:
  22. return None
  23. return temp
  24.  
  25. print(convert_degree(-700, "F"))
  26.  
  27.  
  28.  
  29.  
  30. def natural_language_convert_degree(user_request):
  31.  
  32. s = user_request.split()
  33. units = "C" if s[2] == "celsius" else "F"
  34. if not is_number(s[3]): return None
  35. orig = float(s[3])
  36. cvt = convert_degree(orig,units)
  37. return (orig, cvt)
  38.  
  39. #print natural_language_convert_degree("convert to celsius -212.5")
  40.  
  41.  
  42. def user_input_convert_degree():
  43. g = input("Please enter degrees: ")
  44. if not is_number(g):
  45. print ("Number required")
  46. return
  47. #g = int(g)
  48. v = input("Convert to (C)elsius, or (F)ahrenheit: ")
  49. r = convert_degree(g, v)
  50. if v == "C":
  51. print (g, "in Fahrenheit is", r, "in Celsius.")
  52. else:
  53. print (g, "in Celsius is", r, "in Fahrenheit.")
  54. return
  55.  
  56. # user_input_convert_degree()
  57.  
  58. # Helper function for determining state of matter from a real number representing the temperature
  59. def water_temp_to_state(temp):
  60. temp = float(temp)
  61. if temp >= -273.15 and temp <= 0:
  62. state = "Solid"
  63. elif temp > 0 and temp < 100:
  64. state = "Liquid"
  65. elif temp > 100:
  66. state = "Gas"
  67. else:
  68. state = "Illegal temperature"
  69. return state
  70.  
  71.  
  72. # Convert water temperature to state of matter for user input.
  73. def state_of_matter():
  74. temperatures = input("Please enter a number of temperatures (1-3): ")
  75. temperatures = int(temperatures)
  76. if not (temperatures >=1 and temperatures <=3):
  77. print ("The number you entered is not between 1 and 3, goodbye!")
  78. return
  79. print("Please enter the temperatures, one in each line")
  80.  
  81. temps = [0,0,0]
  82. for i in range(temperatures):
  83. temps[i] = input("")
  84. for i in range(temperatures):
  85. print (water_temp_to_state(temps[i]))
  86.  
  87. return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement