Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 19, 2020 10:02:31

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

try excert не все читается ПОЧЕМУ?

здравствуйте, подскажите пожалуйста, почему 4 и 5 тут не читаются

а задача вообще такая строку перевести в список

Прикреплённый файлы:
attachment Снимок4.PNG (17,9 KБ)

Офлайн

#2 Ноя. 19, 2020 10:41:20

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

try excert не все читается ПОЧЕМУ?

ВОт подробный код ВСЕ СДЕЛАЛ

Пройдя по символам строки, переведите строку в список.

string = ''
res = [element.strip("“) for element in string.split(”, ")]
print(res)
x=
for i in res:
x.append(int(i))
print(x)

Офлайн

#3 Ноя. 19, 2020 10:42:37

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

try excert не все читается ПОЧЕМУ?

вот код

Прикреплённый файлы:
attachment Снимок5.PNG (11,2 KБ)

Офлайн

#4 Ноя. 19, 2020 11:30:32

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1395
Репутация: +  124  -
Профиль   Отправить e-mail  

try excert не все читается ПОЧЕМУ?

sssssaaaaabbbbb
переведите строку в список.
 my_str = 'строка'
my_list = list(my_str)
print(my_list)

Отредактировано xam1816 (Ноя. 19, 2020 11:32:11)

Офлайн

#5 Ноя. 19, 2020 13:45:40

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

try excert не все читается ПОЧЕМУ?

sssssaaaaabbbbb
а задача вообще такая строку перевести в список…
Пройдя по символам строки, переведите строку в список.
что должно быть в списке? Какие входные данные?
[12, 45]
или
['1', '2', ',', ' ', '4', '5']
или
[1, 2, ',', ' ', 4, 5]
или еще какие варинты? потому как у вас в разных постах разные входные данные, и ХЗ что должно выйти в конце.
Вам нужно чтото типа такого?:
 from ast import literal_eval
in_str = '[12, 45]'
result = literal_eval(in_str)
print(result, type(result))
>>>
[12, 45] <class 'list'>



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Ноя. 19, 2020 13:54:06)

Офлайн

#6 Ноя. 19, 2020 14:02:43

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

try excert не все читается ПОЧЕМУ?

Сп

xam1816
Спасибо Большое, я сделал

Прикреплённый файлы:
attachment Снимок5.PNG (11,2 KБ)

Офлайн

#7 Ноя. 19, 2020 14:03:06

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

try excert не все читается ПОЧЕМУ?

PEHDOM
Спасбо БОЛЬШОЕ, Я сделал

Прикреплённый файлы:
attachment Снимок5.PNG (11,2 KБ)

Офлайн

#8 Ноя. 19, 2020 20:12:29

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

try excert не все читается ПОЧЕМУ?

sssssaaaaabbbbb
здравствуйте, подскажите пожалуйста, почему 4 и 5 тут не читаются
Потому что у тебя except неконкретный. Сначала ты сделал except, который реагирует на нечисловые данные, которые приводятся к int. И сначала всё работало. Но потом у тебя объект в d поменял свой тип со str на int, так как ты в d записал 0. Потом на четвёрке ты к этому нулю в d стал прибавлять строку и из-за этого получил совершенно другое исключение. А except, так как он неконкретный, отловил это совершенно другое исключение и подумал, что ты получил не число.

  
>>> int('a')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'a'
>>> 0 + 'a'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
>>>

Смотри, когда ты приводишь строку к int, ты получаешь ValueError, а когда ты прибавляешь строку к целому числу, ты получаешь TypeError.

Если бы ты сделал except конкретным, то ты бы с этой проблемой не столкнулся.

  
>>> try:
...     int('a')
... except ValueError:
...     print('It\'s not a number')
... 
It's not a number
>>>
>>> try:
...     0 + 'a'
... except ValueError:
...     print('It\'s not a number')
... 
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
>>>



Отредактировано py.user.next (Ноя. 19, 2020 20:14:04)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version