Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/180: Рейтинг темы: голосов - 180, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 27.02.2012
Сообщений: 20

Задачи по Python

27.02.2012, 17:19. Показов 34798. Ответов 49
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте уважаемые коллеги,меня зовут Михаил,начинаю изучать Python буду рад общению и взаимопомощи по данной теме.В этой теме я хотел бы обсуждать решение задач на языке Пайтон поэтапно, начиная с легкихи заканчивая более сложными в процессе возникновения вопросов.

сейчас появился у меня первый вопрос:
можно ли сравнивать значение переменной с типом?например:
Python
1
2
3
4
5
if t==4==int:
#скорее всего нет,т.к. IDLE ругается.тогда как правильно записать?немогу найти.
    s="ghghghg"
else:
    s="oiuhjhjh"
С уважением,Михаил.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.02.2012, 17:19
Ответы с готовыми решениями:

задачи на Python
разработайте алгоритм и программу решения следующей задачи имеется n значений температур найдите среднюю температуру. определите...

Задачи на Python
1) Дан текст из строчных латинских букв, за которым следует точка. Напечатать буквы, входящие в текст по одному разу. 2) Переменной x...

Python задачи
Собственно обращаюсь к людям которые понимают в программировании на Python. Попросили выполнить эти задачи. Но практика и знания в этом...

49
0 / 0 / 0
Регистрация: 27.02.2012
Сообщений: 20
29.02.2012, 19:17  [ТС]
Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
s=raw_input()
a=list(s)
a.reverse()
s1="".join(a)
if s==s1:
    print"Yes"
else:
    print"No"
Почему интерпретатор работает с этим кодом а командная строка ругается? Обязательно импортировать модуль string?
0
 Аватар для thebvog
74 / 54 / 12
Регистрация: 20.02.2012
Сообщений: 239
29.02.2012, 19:54
Михаил27, да, обязательно, так как "".join() оттуда.
0
 Аватар для ilnurgi
141 / 141 / 38
Регистрация: 20.02.2012
Сообщений: 597
29.02.2012, 21:06
Цитата Сообщение от thebvog Посмотреть сообщение
Михаил27, да, обязательно, так как "".join() оттуда.
нет. не обязательно. он же и так работает.

Добавлено через 34 секунды
Цитата Сообщение от Михаил27 Посмотреть сообщение
а командная строка ругается?
а как он ругаетсо то?
0
 Аватар для thebvog
74 / 54 / 12
Регистрация: 20.02.2012
Сообщений: 239
29.02.2012, 22:04
ilnurgi, у меня чего-то без string еггог выдаёт
0
 Аватар для ilnurgi
141 / 141 / 38
Регистрация: 20.02.2012
Сообщений: 597
29.02.2012, 22:10
Цитата Сообщение от thebvog Посмотреть сообщение
ilnurgi, у меня чего-то без string еггог выдаёт
python 2.7.2
у меня все норм
0
 Аватар для thebvog
74 / 54 / 12
Регистрация: 20.02.2012
Сообщений: 239
29.02.2012, 22:14
ilnurgi, дело в том, что у меня код string.join(a,"").
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
01.03.2012, 02:12
.join() уже давно есть у str
набери в интерпретаторе str.join
Python
1
2
3
>>> str.join
<method 'join' of 'str' objects>
>>>
Цитата Сообщение от Михаил27 Посмотреть сообщение
Определить, является ли введенная строка полиндромом(перевертышем) типа:АВВА или КАРАК и пр.
Python
1
2
3
4
5
6
7
>>> s = 'abbc'
>>> s == s[::-1]
False
>>> s = 'abba'
>>> s == s[::-1]
True
>>>
1
0 / 0 / 0
Регистрация: 27.02.2012
Сообщений: 20
01.03.2012, 16:07  [ТС]
Цитата Сообщение от ilnurgi Посмотреть сообщение
нет. не обязательно. он же и так работает.

Добавлено через 34 секунды

а как он ругаетсо то?
Извиняюсь ...уже все работает, у меня тоже 2.7.2 все работает не импортируя модуль string.
Спасибо!

Добавлено через 2 часа 19 минут
Задача№4
Последовательно вводятся ненулевые числа.Определить сумму отрицательных и сумму положительных чисел.Закончить ввод чисе при вводе 0.
И так:
Python
1
2
3
4
5
6
7
8
9
10
n=input('n=')
sp=0
sn=0
while n!=0 :
    if n<0:
        sn=sn+n
    else:
        sp=sp+n
    n=input('n=')
print sn,sp
Ваши варианты?
и как будет выглядеть код если нужно посчитать еще и количество положительных и отрицательных элементов?Нужно их поместить в масив наверно и выводить с помощью count(-i) и count(i) ?Спасибо.
0
 Аватар для thebvog
74 / 54 / 12
Регистрация: 20.02.2012
Сообщений: 239
01.03.2012, 20:28
accept, я знаю, я намеренно использовал string, и потому его подключал. Второй ваш вариант, тоже использовал, но как-то он не пришёлся мне по душе.
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
02.03.2012, 02:03
Цитата Сообщение от thebvog Посмотреть сообщение
я намеренно использовал string
зачем ?
0
224 / 209 / 63
Регистрация: 26.05.2011
Сообщений: 363
02.03.2012, 06:02
Цитата Сообщение от Михаил27 Посмотреть сообщение
как будет выглядеть код если нужно посчитать еще и количество положительных и отрицательных элементов?
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
from functools import partial
from operator import lt, gt
 
if "__main__" == __name__:
    lst = []
 
    _lt = partial(lt, 0)
    _gt = partial(gt, 0)
 
    while True:
        try:
            n = int(input("n = "))
        except ValueError:
            continue
        if not n:
            break
        lst.append(n)
 
    positive = sum(filter(_lt, lst))
    negative = sum(filter(_gt, lst))
    count_positive = len(tuple(filter(_lt, lst)))
    count_negative = len(tuple(filter(_gt, lst)))
 
#    врядли пользователя хватит на ввод хотя бы сотни чисел
#    поэтому импорты можно убрать, определения _lt и _gt тоже убрать
#    последние четыре строки кода, в этом случае, будут выглядеть так
#    positive = sum(filter(lambda x: x > 0, lst))
#    negative = sum(filter(lambda x: x < 0, lst))
#    count_positive = len(tuple(filter(lambda x: x > 0, lst)))
#    count_negative = len(tuple(filter(lambda x: x < 0, lst)))
 
    print(positive, count_positive, negative, count_negative)
1
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
02.03.2012, 10:04
Цитата Сообщение от Михаил27 Посмотреть сообщение
Последовательно вводятся ненулевые числа.Определить сумму отрицательных и сумму положительных чисел.Закончить ввод чисе при вводе 0.
Цитата Сообщение от Михаил27 Посмотреть сообщение
нужно посчитать еще и количество положительных и отрицательных элементов
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
>>> def f():
...     sneg = spos = 0
...     cneg = cpos = 0
...     n = 1
...     while n:
...         n = int(input('next n != 0: '))
...         if n < 0:
...             sneg += n
...             cneg += 1
...         elif n > 0:
...             spos += n
...             cpos += 1
...     print('sums: negative = {0}, positive = {1}'.format(sneg, spos))
...     print('counters: negative = {0}, positive = {1}'.format(cneg, cpos))
... 
>>> f()
next n != 0: 0
sums: negative = 0, positive = 0
counters: negative = 0, positive = 0
>>> f()
next n != 0: 1
next n != 0: 2
next n != 0: 3
next n != 0: 4
next n != 0: 5
next n != 0: -1
next n != 0: -2
next n != 0: -3
next n != 0: 0
sums: negative = -6, positive = 15
counters: negative = 3, positive = 5
>>>
1
0 / 0 / 0
Регистрация: 27.02.2012
Сообщений: 20
03.03.2012, 00:08  [ТС]
pyuser, прокоментируйте пожалуйста свой код.

Добавлено через 21 минуту
accept,
Цитата Сообщение от accept Посмотреть сообщение
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
>>> def f():#создаем функцию
...     sneg = spos = 0#сумма отрицательных и положительных элеметов
...     cneg = cpos = 0#количество отрицательных и положительных
...     n = 1 # n не равно 0
...     while n:#пока n:
...         n = int(input('next n != 0: '))#ввод n
...         if n < 0:
...             sneg += n#сумму увеличиваем на n
...             cneg += 1#количество увеличиваем на 1
...         elif n > 0:
...             spos += n#сумму увеличиваем на n
...             cpos += 1#количество увеличиваем на 1
...     print('sums: negative = {0}, positive = {1}'.format(sneg, spos))#вот с функцией format(,)еще не знаком почитаю,
                                                                                              #догадываюсь что это формат вывода.
...     print('counters: negative = {0}, positive = {1}'.format(cneg, cpos))
... 
>>> f()#вызов функции
next n != 0: 0
sums: negative = 0, positive = 0
counters: negative = 0, positive = 0
>>> f()
next n != 0: 1
next n != 0: 2
next n != 0: 3
next n != 0: 4
next n != 0: 5
next n != 0: -1
next n != 0: -2
next n != 0: -3
next n != 0: 0
sums: negative = -6, positive = 15
counters: negative = 3, positive = 5
>>>
accept, правильно прокомментировал?очень понравился код,все понятно и доступно,Спасибо!.

Добавлено через 1 минуту

Добавлено через 36 минут
если еще нужно вывести 0....
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
n=int(input('n='))
sp=sn=cn=cp=cz=0
while n!=0 :
    if n<0:
        sn=sn+n
        cn=cn+1 #cn+=1 так тоже можно да?
    else :
        sp=sp+n
        cp=cp+1
    n=int(input('n='))
if n==0:
    cz=cz+1
    print ("n = {},количество нулей = {}".format(n,cz),)
print ("сумма: отрицательных = {},положительных = {}".format(sn,sp))
print ("количество: отрицательных = {},положительных = {}".format(cn,cp))
Добавлено через 10 минут
Можно и так,но не обязательно: все поместить в функцию и потом в интерпретаторе вызвать...

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def f():
    n=int(input('n='))
    sp=sn=cn=cp=cz=0
    while n!=0 :
        if n<0:
            sn=sn+n
            cn=cn+1 #cn+=1 так тоже можно да?
        else :
            sp=sp+n
            cp=cp+1
        n=int(input('n='))
    if n==0:
        cz=cz+1
        print ("n = {},количество нулей = {}".format(n,cz),)
    print ("сумма: отрицательных = {},положительных = {}".format(sn,sp))
    print ("количество: отрицательных = {},положительных = {}".format(cn,cp))
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
03.03.2012, 04:42
когда записал в блокноте, копируешь в интерпретатор
но так как там есть input(), то оно не скопируется, потому что он сразу вызовется и дальнейшая часть кода пойдёт на ввод в input()
поэтому делается функция, так как она не вызывает input() сразу

.format() - это метод у строки, строка - объект, у объекта есть атрибуты и методы
пустая строка, например, точно также имеет методы, как и непустая
список методов можно просмотреть, выполнив dir('') (лучше читать документацию)
потом любой метод выбираешь и делаешь help(''.format)

комментирование - это целое искусство
я провёл много времени, комментируя чуть ли не каждую букву
спустя какое-то время они перестают тебя напрягать
читай реальные программы и смотри, как там делают комментарии
питоновские модули точно так же можно читать
2
0 / 0 / 0
Регистрация: 27.02.2012
Сообщений: 20
05.03.2012, 15:50  [ТС]
Задача№5
Дано одномерный массив числовых значений, насчитывающий N элементов.Написать программы:
1-я:Поменять местами элементы стоящие на четных и нечетных местах.А[1]<->A[2];A[3]->A[4]...
2-я:Выполнить перемещение элементов массива по кругу (в право) т.е А[1]->A[2];A[2]->A[3];...и т.д.A[n]->A[1]
0
104 / 94 / 14
Регистрация: 20.06.2010
Сообщений: 966
Записей в блоге: 16
05.03.2012, 19:00
Цитата Сообщение от Михаил27 Посмотреть сообщение
2-я:Выполнить перемещение элементов массива по кругу (в право) т.е А[1]->A[2];A[2]->A[3];...и т.д.A[n]->A[1]
Насколько я помню, массивы нумеруются с нулевого элемента. Вот как у меня получилось решить эту задачку:
Python
1
2
3
4
5
6
7
8
a = [1,2,3,4,5,6,7,8,9,10]
def krug(a):
    b = []
    b.append(a[len(a) - 1])
    for x in range(len(a) - 1):
        b.append(a[x])    
    return b
print(krug(a))
1
 Аватар для thebvog
74 / 54 / 12
Регистрация: 20.02.2012
Сообщений: 239
05.03.2012, 19:01
bodrich, да, с нулевого.
1
104 / 94 / 14
Регистрация: 20.06.2010
Сообщений: 966
Записей в блоге: 16
05.03.2012, 19:11
Цитата Сообщение от Михаил27 Посмотреть сообщение
1-я:Поменять местами элементы стоящие на четных и нечетных местах.А[1]<->A[2];A[3]->A[4]...
Если я правильно понял задачу, то вот так:
Python
1
2
3
4
5
6
a = [1,2,3,4,5,6,7,8,9,10]
c = []
for i, x in zip(a[::2], a[::-2][::-1]):
    c.append(x)
    c.append(i)
print(c)
1
224 / 209 / 63
Регистрация: 26.05.2011
Сообщений: 363
05.03.2012, 20:18
Python
1
2
3
4
from itertools import chain
 
a = [1,2,3,4,5,6,7,8,9,10]
print(list(chain(*(x for x in zip(a[1::2], a[::2])))))
2
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
06.03.2012, 02:43
Цитата Сообщение от Михаил27 Посмотреть сообщение
2-я:Выполнить перемещение элементов массива по кругу (в право) т.е А[1]->A[2];A[2]->A[3];...и т.д.A[n]->A[1]
Python
1
2
3
4
5
>>> lst = [1, 2, 3]
>>> lst.insert(0, lst.pop())
>>> lst
[3, 1, 2]
>>>
Добавлено через 6 минут
pyuser,
Python
1
2
3
4
5
6
>>> from itertools import chain
>>>  
... a = [1,2,3,4,5,6,7,8,9,10,11]
>>> print(list(chain(*(x for x in zip(a[1::2], a[::2])))))
[2, 1, 4, 3, 6, 5, 8, 7, 10, 9]
>>>
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.03.2012, 02:43
Помогаю со студенческими работами здесь

ЗАДАЧИ Python
ВОТ ССЫЛКА НА КНИГУ В КОТОРОМ ЭТИ ЗАДАНИЯ (EXERCISES №1.1 ....1.4) AND (PROGRAMMING PROJECTS 1.1....1.7), А НИЖЕ САМИ ЗАДАНИЯ ИЗ ТОЙ КНИГИ,...

2 Задачи Python
1) В двумерном массиве вставить строку из нулей после строки с номером k. 2) В двумерном массиве положительные элементы умножить на...

Задачи на Python
del Помогите разбирающиеся в Python'е, Python совсем не понимаю, препод аспирант, а я допереть не могу. Добавлено через 4 часа 12...

Python (? + задачи)
1. Индексированный неизменяемы набор объектов произвольных типов в языке Python - это: - кортеж - словарь - список 2. Что будет...

Задачи на Python
Сделайте,пожалуйста, задачи на питоне) Буду премного благодарна) 1)Получить i=1…10 ,j= 1…12 — целочисленную матрицу, для которой a i⁣j =...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru