*快速编辑我正在使用python 3.4
我刚刚开始在课堂上学习python,虽然它似乎比C ++更容易处理,但有一些我无法解决的问题。
我需要制作一个小函数,它接受farenheit给出的一些温度并将它们转换为摄氏温度并将它们放回列表形式。我有大部分代码,我相信它应该有效。但是,我一直收到一个未声明变量的错误。
input_temps = [-20.0, -10.0, 5.0, 18.0, 50.0, 212.0]
def farenheit_to_celsius(data): #function definition
output_temps = [] #create empty list
for input in data: #cycle through list
((input_temps-32)* 5/9) #done to each item oninput_temps
output_temps += [input] #connects list to list
return output_temps #returns output_temps with newvalues
print(output_temps) #prints out output_temps to debug
代码在我的编辑器上正确缩进。但是,当我尝试运行它时,它会说" output_temps"尚未宣布。此外,我正在尝试将列表添加到列表中,但我不确定我是否正确执行此操作。
output_temps += [input] #not 100% sure if this is right.
答案 0 :(得分:1)
首先,如果您不重新分配input
变量,则不会修改output_temps
变量。其次,output_temps
中的修改应该在循环内完成。第三也是最重要的,应该调用该函数(函数执行结束后input_temps = [-20.0, -10.0, 5.0, 18.0, 50.0, 212.0]
def farenheit_to_celsius(data): #function definition
output_temps = [] #create empty list
for input in data: #cycle through list
input = ((input-32)* 5/9) #done to each item oninput_temps
output_temps += [input] #connects list to list
return output_temps #returns output_temps with newvalues
print(farenheit_to_celsius(input_temps))
的范围结束)。
output_temps += [input]
input
是正确的。它将output_temps
放在一个列表中,它是唯一的元素,然后将其添加到output_temps.append(input)
。但是,可能更好的方法是使用append method on lists。
<head>
<base href="http://www.otherdomain.com/xyz/">
</head>
答案 1 :(得分:0)
for input in data:
((input_temps-32)* 5/9) # this should be input = (input - 32)*5/9
Int在Python中是不可变的
你的代码中有一些缩进错误。
在打印output_temps之前,您无法调用farenheit_to_celsius。
input_temps = [-20.0, -10.0, 5.0, 18.0, 50.0, 212.0]
def farenheit_to_celsius(data): #function definition
output_temps = [] #create empty list
for input in data: #cycle through list
input = ((input-32)* 5/9) #done to each item oninput_temps
output_temps += [input] #connects list to list
# I think use output_temps.append(input) will be better. But it's ok here.
return output_temps #returns output_temps with newvalues
print(farenheit_to_celsius(input_temps)) #prints out output_temps to debug
答案 2 :(得分:0)
output_temps是在方法内部声明的,但是在print语句中被引用,而不是在方法内部,这就是你得到错误的原因。而不是打印output_temps,打印您对方法的调用,该方法将返回output_temps:
print(farenheit_to_celsius(my_data))
要添加到Python中的列表,您可以执行以下操作:
my_list.append(my_data)
答案 3 :(得分:0)
input_temps = [-20.0, -10.0, 5.0, 18.0, 50.0, 212.0]
def farenheit_to_celsius(data):
output_temps = []
for input in data:
((input_temps-32)* 5/9)
output_temps += [input]
return output_temps
print(output_temps)
你应该在这里做得很好,我只需要在这个程序中修复一些空格错误并输出_输出+ = [输入]好吧它不会导致任何错误