Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 26, 2016 08:43:42

angeline
Зарегистрирован: 2016-11-11
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Возведение в степень, имеющую вид десятичной дроби


FishHook
Вы правы, в таком виде все работает. Когда задаю переменные с помощью считывания по абсолютным адресам ячеек (без каких-либо циклов, “в лоб”, например, ячейка с координатами столбец 1 строка 5), тоже все работает.
Стоит запустить цикл, получаю все прежнее:

TypeError: can't multiply sequence by non-int of type ‘float’
Тем не менее, спасибо за помощь, постараюсь уже самостоятельно в этом разобраться.

Офлайн

#2 Дек. 26, 2016 08:48:03

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Возведение в степень, имеющую вид десятичной дроби

angeline
TypeError: can't multiply sequence by non-int of type ‘float’
Давайте внимательно прочитаем, что тут написано.
Не могу умножить последовательность на нецелочисленное значение типа “float”.
То есть даже по выводу ошибки ясно, что вы умножаете не число, а вероятнее всего список.
А вас уже довольно долго подвожу к тому, что вам нужно просто посмотреть на все переменные в функции дебаггером или принтом.



Офлайн

#3 Дек. 26, 2016 10:23:46

angeline
Зарегистрирован: 2016-11-11
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Возведение в степень, имеющую вид десятичной дроби

FishHook
Вы не поверите, но это было первое, что я сделала перед тем как написать на форум. Именно поэтому я и недоумеваю, как получается то, что получается.
Могу продемонстрировать работу принта. Вероятно, все объясняется просто, но в данный момент я объяснения , увы, не вижу.

print e_j
0.05
0.06
0.06
0.12
0.34
0.53
0.53
print sr_god_veter
0.0
1.0
2.0
3.0
4.4
6.3
8.5
12.0

Отредактировано angeline (Дек. 26, 2016 10:24:01)

Офлайн

#4 Дек. 26, 2016 10:34:12

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9993
Репутация: +  857  -
Профиль   Отправить e-mail  

Возведение в степень, имеющую вид десятичной дроби

  
>>> (1, 2) * 0.5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can't multiply sequence by non-int of type 'float'
>>>

angeline
 
u_j = veter * ((h / vys_flyugera) ** e_j)
TypeError: can't multiply sequence by non-int of type 'float'
Это значит, что veter - последовательность, а в результате возведения в степень получается дробное число. И потом эта последовательность пытается умножиться на это дробное число.



Отредактировано py.user.next (Дек. 26, 2016 10:36:07)

Офлайн

#5 Дек. 26, 2016 11:35:52

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Возведение в степень, имеющую вид десятичной дроби

angeline
Я говорил про все переменные в функции, вывод значения и типа. ВСЕХ используемых переменных.



Офлайн

#6 Дек. 26, 2016 17:58:58

angeline
Зарегистрирован: 2016-11-11
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Возведение в степень, имеющую вид десятичной дроби

py.user.next
FishHook
Благодарю

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version