Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
24 / 2 / 0
Регистрация: 21.11.2015
Сообщений: 40
1

Простая программа, но видает ошибку

29.03.2016, 23:56. Показов 1272. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/env python3
 
def reverse_and_check(text):
    zap_zn=(' ',',','.','!','?')
    nov_str=[]
    for buk in text[:]:
        for zn in zap_zn[:]:
            if (text[buk]!=zap_zn[zn]):
                nov_str.append(text[buk])
                break
    return nov_str.reverse()
def is_palindrome(text):
    return text==reverse_and_check(text)
something=input('Ведите текст: ')
if (is_palindrome(something)):
    print("Да, это палиндром")
else:
    print("Нет, это не палиндром")
Прикрепил файл с ошибкой(как всегда какая-то нубская ошибка)
Заранее спасибо!
Миниатюры
Простая программа, но видает ошибку  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.03.2016, 23:56
Ответы с готовыми решениями:

На мой код почему то видает ошибку
У меня возникла проблема после 2-х дней обучения в пайтоне на мой код почему то видает ошибку ...

видает ошибку
#include <conio.h> #include <stdio.h> #include <stdlib.h> #include <conio.h> typedef struct...

Видает ошибку!
Видает ошибку. Скажите что не так. Вот код://...

Простая программа со строками, но выдает ошибку сегментирования
#include<stdio.h> #include<string.h> int main(){ char *mas,c; mas=&mas; ...

Видает ошибку heap?
Почему здесь ошибку видает вроде все сделал . #include <iostream> using namespace std; class...

9
Эксперт по компьютерным сетям
5901 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,009
30.03.2016, 00:05 2
Цитата Сообщение от beginner on PY Посмотреть сообщение
text[buk]
Цитата Сообщение от beginner on PY Посмотреть сообщение
zap_zn[zn]
что тут будет?

Добавлено через 6 минут
Цитата Сообщение от beginner on PY Посмотреть сообщение
def reverse_and_check(text):
вот это нужно переосмыслить
0
24 / 2 / 0
Регистрация: 21.11.2015
Сообщений: 40
30.03.2016, 00:10  [ТС] 3
в этом условии хотел сравнивать каждый элемент строки с запрещенными знаками
0
Эксперт по компьютерным сетям
5901 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,009
30.03.2016, 00:26 4
ну вот в этом месте не правильно
0
24 / 2 / 0
Регистрация: 21.11.2015
Сообщений: 40
30.03.2016, 00:29  [ТС] 5
я понял, но как сделать чтобы работало?
0
Эксперт по компьютерным сетям
5901 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,009
30.03.2016, 00:36 6
Цитата Сообщение от beginner on PY Посмотреть сообщение
я понял, но как сделать чтобы работало?
для этого нужно знать задание?
0
24 / 2 / 0
Регистрация: 21.11.2015
Сообщений: 40
30.03.2016, 00:42  [ТС] 7
точно..... проверить строку, является ли она палиндромом, но игнорирую знаки препинания и пробели
0
Эксперт по компьютерным сетям
5901 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,009
30.03.2016, 00:51 8
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# -*- coding: utf-8 -*-
 
from string import punctuation
 
 
def strip_text(text):
    return ''.join(x for x in text if x not in punctuation)
 
 
def is_pali(text):
    return '- палиндром' if strip_text(text) == strip_text(text[::-1]) else "- не палиндром"
 
s1 = 'pal?indrom!!ordn.ilap'
s2 = 'qwerty123'
 
print(s1, is_pali(s1))
print(s2, is_pali(s2))
Код
pal?indrom!!ordn.ilap - палиндром
qwerty123 - не палиндром
1
24 / 2 / 0
Регистрация: 21.11.2015
Сообщений: 40
30.03.2016, 01:00  [ТС] 9
что исправить в моем коде, чтобы работало. мне не нужно чужое решение, мне нужно понять что я не так сделал
0
39 / 39 / 25
Регистрация: 25.10.2015
Сообщений: 102
30.03.2016, 03:14 10
Лучший ответ Сообщение было отмечено beginner on PY как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/env python3
 
def reverse_and_check(text):
    zap_zn=(' ', ',', '.', '!', '?')
    nov_str=[]
    for buk in text[:]:
        for zn in zap_zn[:]: # в данном цикле будет сравниваться все, если первый окажется не равным, 
# например, в исходном тексте будет ".", а первый ' ', то точка пройдет в новую строку
            if (text[buk]!=zap_zn[zn]): #индекс не может быть символом, нужно text[целое число]
                nov_str.append(text[buk])  # здесь формируется список nov_str
                break
    return nov_str.reverse() #но обратный список не вернется
def is_palindrome(text):
    return text==reverse_and_check(text) # строка сравнивается не со строкой
something=input('Ведите текст: ')
if (is_palindrome(something)):
    print("Да, это палиндром")
else:
    print("Нет, это не палиндром")
поправил максимально приближенно к Вашему варианту
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def reverse_and_check(text):
    zap_zn = (' ',',','.','!','?')
    nov_str = []
    for buk in text:
        if buk not in zap_zn:
            nov_str.append(buk)
    nov_str.reverse()
    return ''.join(nov_str)
def is_palindrome(text):
    return text == reverse_and_check(text)
something = input('Введите текст: ')
if is_palindrome(something):
    print("Да, это палиндром.")
else:
    print("Нет, это не палиндром.")
Добавлено через 14 минут
Упс, лажанулся, нужно не учитывать, а игнорировать запрещенные знаки как у Jabbson. Тогда такой, тоже приближенный к Вашему, вариант:

Python
1
2
3
4
5
6
7
8
9
10
11
12
def reverse_and_check(text):
    zap_zn = (' ',',','.','!','?')
    nov_str = ''
    for buk in text:
        if buk not in zap_zn:
            nov_str += (buk)
    return nov_str == nov_str[::-1]
something = input('Введите текст: ')
if reverse_and_check(something):
    print("Да, это палиндром.")
else:
    print("Нет, это не палиндром.")
1
30.03.2016, 03:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2016, 03:14
Помогаю со студенческими работами здесь

Видает ошибку исправте.
unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Простая программа. Высчитать формулу. Нужно найти ошибку
Помогите, пожалуйста, исправить ошибку в программе. Вроде задал всё верно, но с подсчётом перовой...

После компиляции видает ошибку
Да вот проблема в чем, начал писать проект на android studio, использовал libGDX, импортировал...

холодильник Privileg, Видает ошибку E E
Prod-Nr 497.089-3 Priv-Nr 40378 Ser-Nr 42606980 COD 924100740 Type KSV20042 Сразу при...

простая программа, но подфункции в другом файле. Сделал указатель на z, выдает ошибку
Суть программы: решить уравнение z = sqrt(a + b - exp(yy()) + c); значения даны(a=2;b=1.2;c=1;x=0)...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru