Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/75: Рейтинг темы: голосов - 75, средняя оценка - 4.84
0 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 3

Ошибка TypeError: 'in <string>' requires string as left operand, not tuple

28.09.2017, 20:49. Показов 16009. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В чем заключается ошибка и как ее исправить?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@bot.callback_query_handler(func=lambda call: True)
   def user_register(call):
    if call.message:
     if call.data == "reg":
        userid = (call.message.chat.id, " ")
        bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="Проверка...")
        bot.answer_callback_query(callback_query_id=call.id, show_alert=False, text="Проверка на наличие id в базе данных...")
        sss = open('f/accs.txt', 'r')
        accser = sss.read()
        sss.close
        if userid in accser: #тут ошибка
         open('f/accs.txt', 'w').write('\n'.join(message.chat.id, ' / ',  'user'))
         print('Зарегистрирован новый пользователь. ', message.chat.id, '/ user')
         bot.answer_callback_query(callback_query_id=call.id, show_alert=False, text="Успешная регистрация!")
         bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="Вы успешно зарегистрированы в игре.")
Мне нужно чтобы бот находил содержимое переменной userid в переменной accser, подскажите, как решить ошибку
TypeError: 'in <string>' requires string as left operand, not tuple
Миниатюры
Ошибка TypeError: 'in <string>' requires string as left operand, not tuple   Ошибка TypeError: 'in <string>' requires string as left operand, not tuple  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.09.2017, 20:49
Ответы с готовыми решениями:

ERROR - TeleBot: "TypeError occurred, args=("'in <string>' requires string as left operand, not NoneType",)
Добрый день, уважаемые форумчане. Пишу бота. У бота есть команда /help. Как вы знаете, если не переключить раскладку на английский, то...

Нельзя преобразовать тип Tuple<string,string,string,string> к string
Здравствуйте, у меня возникла проблема. При запуске кода, вылезает ошибка &quot;Нельзя преобразовать тип...

TypeError: __str__ returned non-string (type tuple)
Делал задание в Яндексе. Всё сделал, должно работать, но мне показывают ошибку там, где её быть не может (то есть тело метода класса я...

4
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
28.09.2017, 21:08
Сергей Авраамов, ошибка же более чем красноречива, у тебя userid это кортеж, а accser это строка. Так быть не должно, исправляй.
0
0 / 0 / 0
Регистрация: 28.09.2017
Сообщений: 3
28.09.2017, 21:16  [ТС]
accser это содержимое файла, userid это например "1234". Если я в чем-то ошибаюсь, пожалуйста, подскажите что исправлять. Я совсем недавно начал учить python.
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
28.09.2017, 21:34
userid это например "1234
А строка 5 твоего кода говорит об обратном.
Если нужно получить id нужно писать
Python
1
if userid[0] in accser:
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
28.09.2017, 21:57
Python
1
userid = (call.message.chat.id, " ")
Это - кортеж.
Python
1
2
>>> type(('1234', " "))
<class 'tuple'>
Только для чего он здесь?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.09.2017, 21:57
Помогаю со студенческими работами здесь

TypeError: unsupported operand type(s) for ** or pow(): 'tuple' and 'float'
Всем привет! Хотел к каждому полученному значению приписать название столбцов. Код работает, но когда хочу название столбцов добавить...

Ошибка PHPOfice: Cannot use PhpOffice\PhpWord\Shared\String as String because 'String' is a special class name
Fatal error: Cannot use PhpOffice\PhpWord\Shared\String as String because 'String' is a special class name in...

Ошибка: TypeError: not all arguments converted during string formatting
Всем привет) В Пайтоне по теме веб впервые поэтому обращаюсь за помощью) Код: #!/usr/bin/env python3 import serial import...

String::replace ошибка Structure required on left side of . or .*
Вот собственно код: int _tmain(int argc, _TCHAR* argv) { // Открываем объект ядра &quot;файл&quot; HANDLE hFile =...

Ошибка преобразования byte[] в string/ string[] в string
Я поучаю изображение в RawImage image; И мне надо его сохранить. Т.к. я новичок, лучше чем через PlaterPrefs ничего не придумал. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru