Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2018, 02:34   #1
Александр121
Форумчанин
 
Регистрация: 17.09.2017
Сообщений: 265
По умолчанию как удалить последний элемент?

пример в ввода
1
2 2 3 4

я беру 4. как последний элемент.Удаляю его
Потом беру 3 как последний элемент.
возникает ошибка
ValueError: could not convert string to float:


Код:
import math
h = {}
i = 0
acc = 0
for _ in range(int(input())):
    s = input()[2:]
    if '1' in s:
        s = s[:s.find('1') + 1]
    acc = float(s[-1])  # беру последний элемент
    s = s[:-1]  # удаляю последний элемент
    acc *= math.log(float(s[-1])) / math.log(2)  # беру элемент который теперь последний
Александр121 вне форума Ответить с цитированием
Старый 25.08.2018, 07:17   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

что является элементами массива(коллекции) s неужели числа?
судя по float(...) нет это символы(знаки).
а значит предыдущий элемент пробел.
ну а пробел это вовсе не числовой символ.
P.S. Python не знаю.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 25.08.2018, 07:39   #3
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

В условиях задачи что дано: на вход подаётся строка или массив?
P.s. Смотрю в ТС последние топики проблемные потому что он не считает пробела за полноценного елемента строки
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 25.08.2018, 09:07   #4
Александр121
Форумчанин
 
Регистрация: 17.09.2017
Сообщений: 265
По умолчанию

Хотите сказать ,что когда я удаляю я удаляю не числа а пробел?
числа подаются на вход.
1
2 2 3 4
я сначала беру последний элемент его использую потом удаляю.потом беру элемент который стал последним.
acc = float(s[-1]) # беру последний элемент
s = s[:-1] # удаляю последний элемент
acc *= math.log(float(s[-1])) / math.log(2) # беру элемент который теперь последний
Александр121 вне форума Ответить с цитированием
Старый 25.08.2018, 10:50   #5
Александр121
Форумчанин
 
Регистрация: 17.09.2017
Сообщений: 265
По умолчанию

Спасибо понял где ошибка
Александр121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удалить последний элемент из списка.ООП-Классы Otar4ik Помощь студентам 1 02.02.2014 22:36
создать массив по формуле,найти максимальный элемент. отсортировать по уменьшению,последний отрицательн элемент заменить наиболшим сергей-верига Помощь студентам 2 16.01.2014 15:25
Как удалить последний символ в строке? C++ Builder Женька Good Помощь студентам 3 30.12.2012 12:55
Одномерный массив. Необходимо заменить последний положительный элемент на второй элемент массива кумитэ Паскаль, Turbo Pascal, PascalABC.NET 1 19.12.2011 16:44
[Делфи]Как удалить последний символ в edit1.text? zotox Помощь студентам 3 05.08.2009 12:05