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

TypeError: can only join an iterable

11.09.2021, 02:17. Показов 2935. Ответов 2

Студворк — интернет-сервис помощи студентам
Я новичок в питоне и кое что не могу понять с командой return.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
from sqlite3 import *
from tkinter import *
 
con = connect("BASA.db")
cur = con.cursor()
stud = [
    ('Вячеслав',),
    ('Владислав',),
    ('Ярослав',),
]
 
#cur.execute("create table students(id, name)")
cur.executemany("insert into students values (null, ?)", stud)
cur.execute("SELECT name FROM Students ORDER BY name LIMIT 5")
print(cur.fetchone())
print(cur.fetchone())
print(cur.fetchone())
 
def fav_stud():
    c = ['Error 404']
    n = int(enter.get())
    cur.execute("SELECT name FROM Students ORDER BY name")
    for i in range(0, n):
        s = cur.fetchone()
        name['text'] = ' '.join(s)
        if n > 3:
            name['text'] = ' '.join(c)
            
 
window = Tk()
window.title('BD')
window.geometry('200x100')
lab = Label(text='Name')
enter = Entry(width=20)
name = Label(width=30, fg='lime')
but = Button(window,text="Вывести", command = fav_stud)
 
enter.grid(column=1, row=1)
but.grid(column=1, row=4)
lab.grid(column=1, row=2)
name.grid(column=1, row=3)
 
window.mainloop()
con.close()
Я вывожу слова из списка по цифре, но если студента нету, то хочу сделать надпись Error 404 ,но оно ругается, хотя слово пишет.
File "C:\Users\Asus\AppData\Local\Programs\Py thon\Python38-32\lib\tkinter\__init__.py", line 1883, in __call__
return self.func(*args)
File "C:/Users/Asus/PycharmProjects/untitled4/venv/test3.py", line 25, in fav_stud
name['text'] = ' '.join(s)
TypeError: can only join an iterable

А когда ставлю return, то
Python
1
2
3
4
5
6
7
8
9
10
def fav_stud():
    c = ['Error 404']
    n = int(enter.get())
    cur.execute("SELECT name FROM Students ORDER BY name")
    for i in range(0, n):
        s = cur.fetchone()
        name['text'] = ' '.join(s)
        if n > 3:
            name['text'] = ' '.join(c)
            return
уже ошибку не показывает. Я совершенно случайно разобрался с ошибкой, но сам не пойму почему она не показывается. Пересмотрел видео про команду return, но так не понял.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.09.2021, 02:17
Ответы с готовыми решениями:

TypeError: 'int' object is not iterable
надо сделать так чтобы вывелось и не максимальное число и не минимальное a=int(input('write your numbet ')) b=int(input('write...

TypeError: cannot unpack non-iterable int object
Добрый день Вот код# -*- coding: utf-8 -*- """ This Example will show you how to use register_next_step handler. """ import...

TypeError: add() argument after * must be an iterable, not Settings
Здравствуйте. Никак не могу понять, как исправить эту ошибку. Пишу программу по книге, код верный, но пули из корабля не вылетают. Помогите...

2
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
11.09.2021, 11:28
Славянин 161, вместо return можешь break поставить, эффект тот же будет
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
11.09.2021, 18:22
Цитата Сообщение от Славянин 161 Посмотреть сообщение
не могу понять с командой return.
А причем тут return?

Цитата Сообщение от Славянин 161 Посмотреть сообщение
name['text'] = ' '.join(s)
TypeError: can only join an iterable
Тут же все написано: join может конкатенировать только итерируемый объект: список, кортеж, строк....
Если у тебя туда передается в какой-то момент что-то другое, то виноват в этом только ты, раз не проверяешь аргументы (переменную s) перед передачей.
Если в БД нет нужного поля, что вернет cur.fetchone()?
Если cur.fetchone() как итератор истощился, что он вернет?
Иди читай документацию по sqlite.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.09.2021, 18:22
Помогаю со студенческими работами здесь

TypeError: 'NoneType' object is not iterable
Здравствуйте уважаемые программисты и знатоки. Есть сама программа "Калькулятор валютных свопов" в которой подключен модуль Mt5. При...

TypeError: 'NoneType' object is not iterable
Сначала стоял Python 3.8.1 на который без проблем установился opencv, но по необходимости нужен был еще Python версии 2, поставил Python...

Qtdesigner ошибка TypeError: 'int' object is not iterable
Прошу помочь мне найти ошибку в коде. Только недавно стал программировать на питоне с использованием графического дизайнера, не могу найти...

TypeError: state is not iterable
Доброго времени суток! Подскажите, почему появляется такая ошибка? Это редьюсер: export let initialCostsState = { costs: , ...

TypeError: add() argument after * must be an iterable, not int
Я почитал об этой ошибке в интернете, посмотрел свой код, вроде всё сделал правильно, но код не работает:( Вылетает ошибка: ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
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 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru