This program requires the main function and a custom value-returning function. In the main function, code these steps in this sequence: use a list comprehension to generate 50 random integers all from -40 to 40, inclusive. These represent Celsius temperatures. use an f_string to report the lowest and highest Celsius temperature in the list. determine if 0C is in the list. If it is report the index where it first occurs. If it isn't in the list, report that, too. use a random module method to create a sublist of 10 unique Celsius temperatures. sort this sublist in ascending order. pass the Celsius sublist as the sole argument to the custom value-returning function. In the custom function: use either a loop or a list comprehension to create a list of 10 Fahrenheit temperatures equivalent to the Celsius temperatures. A bonus of 3 points will be awarded if a list comprehension is employed. return the Fahrenheit list to main. Back in main: use a for loop and the range function to print a table showing the equivalent Celsius and Fahrenheit temperatures in columns with widths that you choose. include column headings and display the averages as shown below.
This program requires the main function and a custom value-returning function.
In the main function, code these steps in this sequence:
- use a list comprehension to generate 50 random integers all from -40 to 40, inclusive. These represent Celsius temperatures.
- use an f_string to report the lowest and highest Celsius temperature in the list.
- determine if 0C is in the list. If it is report the index where it first occurs. If it isn't in the list, report that, too.
- use a random module method to create a sublist of 10 unique Celsius temperatures.
- sort this sublist in ascending order.
- pass the Celsius sublist as the sole argument to the custom value-returning function.
In the custom function:
- use either a loop or a list comprehension to create a list of 10 Fahrenheit temperatures equivalent to the Celsius temperatures. A bonus of 3 points will be awarded if a list comprehension is employed.
- return the Fahrenheit list to main.
Back in main:
- use a for loop and the range function to print a table showing the equivalent Celsius and Fahrenheit temperatures in columns with widths that you choose.
- include column headings and display the averages as shown below.
Sample Output
import random
def CelsiusToFahrenheit(lstCel):
lstFah = []
for i in lstCel:
x = (i * 1.8) + 32
lstFah.append(x)
return lstFah
def main():
lst = [random.randint(-40,40) for i in range(50)]
x = min(lst)
y = max(lst)
print(f"Lowest temp is {x}C and highest is {y}C")
if 0 in lst:
ind = lst.index(0)
print("Found 0C at index", ind)
else:
print("0C is not in the list")
lstCel = []
x = random.randint(-40, 40)
for i in range(10):
while x in lstCel:
x = random.randint(-40, 40)
lstCel.append(x)
lstCel.sort()
print("Sorted list of ten equivalent temperatures")
lstFah = CelsiusToFahrenheit(lstCel)
print("CELSIUS\t\tFahrenheit")
sum1 = 0
sum2 = 0
for i in range(10):
sum1 = sum1 + lstCel[i]
sum2 = sum2 + lstCel[i]
x = "{:.2f}".format(lstFah[i])
print(lstCel[i], "\t\t", x)
print((sum1/10), "\t\t", (sum2/10), "\t\t<--- averages")
if __name__=="__main__":
main()
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 1 images