Я новичок здесь, и я привык к программированию с Python. Я искал в Интернете поиски полезных ответов, но было невозможно найти решение моей проблемы.ошибка python: требуется float
Вот он идет:
radiation=1.3888
n=17
LAT=51.05
def dec(n):
if 0<n<365:
dec=23.45*math.sin(math.radians(360*(284+n)/365))
print(dec)
else:
print('the day',n,'is not valid')
def wss(LAT,dec):
wss=math.degrees(math.acos(((math.tan(math.radians(LAT)))*math.tan(math.radians(dec)))))
print(wss)
--- Когда я запускаю этот код это то, что я получаю:
>>> dec(n)
-20.91696257447642
>>> wss(LAT,dec)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:/Users/Gerard/Dropbox/Master Thesis Gerard Pujol/Master Thesis Work/work hourly radiation OK.py", line 25, in wss
wss=math.degrees(math.acos(-((math.tan(math.radians(LAT)))*math.tan(math.radians(dec)))))
TypeError: a float is required
Я не знаю, почему Python дает мне этот тип ошибки : «требуется поплавок».
Я пробовал много изменений, но был бесполезен. Надеюсь, у кого-то есть решение моей проблемы. Большое спасибо!
исправить форматирование вашего кода –
(я поместил код в кодовые блоки, но он также с отступом неправильно) – geoffspear
Похоже, вы вызываете 'math.radians (dec)'; 'dec' - это функция, а не значение; возможно, вы хотели называть 'dec (что-то)'? – geoffspear