LinuxForum.Fans
Тема

Помогите разобраться в простейшей проге на питоне

Автор: Dormidont3 9 сообщений 1828 просмотров
#193580

Начал ради интереса осваивать питон (из программирования знаю самое начало паскаля и всё, цыклы и условия в принципе понимаю)

так вот... Пытаюсь созать програму которая будет проверять входит ли цыфра в указанный массив

Вот что накатал

text
mas = [3,4,5,6,7]
n = raw_input("введите цыфру ")
n = int(n)
if n in mas:
    print '%d - входит в массив' % n
elif n<3:
    print '%d - меньше указанного диапазона' % n
else:
    print '%d - больше указанного диапазона' % n

смущают вот эти 2 строчки

text
n = raw_input("введите цыфру ")
n = int(n)

можно как то питон сразу с клавиатуры понимать вводимое на строкой а числом? потому, что если нет строчки n = int(n) он воспринимает то что я ввожу как строку и выдаёт ерунду

#193592

питоне я плохо знаю, но самое банальное это записать всё в одну строчку:
n = int(raw_input("введите цыфру "))

ЗЫ: возьмите, какой-нить толстый букварь...

#193601

В первом классе наверное вместо русского языка и литературы, сразу программирование и питон преподают. :-)

2 ТС - питон вас не понимает :)

#193603
Dormidont3 написал:

смущают вот эти 2 строчки
text
n = raw_input("введите цыфру ")
n = int(n)

можно как то питон сразу с клавиатуры понимать вводимое на строкой а числом? потому, что если нет строчки n = int(n) он воспринимает то что я ввожу как строку и выдаёт ерунду

text
n = input("введите цыфру ")
#193651

Dormidont3, проверил ваш скрипт на win7+python3.2, всё работает.

#193652

Да не, работать то он работает, я просто хотел сократить количество строк.

И сразу вопрос, а как быть если число дробное?

int я так понимаю это integer, а есть вариант как сделать то же самое но с дробью?

#193653
Dormidont3 написал:
И сразу вопрос, а как быть если число дробное?

int я так понимаю это integer, а есть вариант как сделать то же самое но с дробью?

n = raw_input("введите цыфру ")
n = float(n)
#193717

Dormidont3, кстати для 3-го питона надо указывать input а не raw_input. мне кажется так можно:

text

mas = [3,4,5,6,7]
n=int(raw_input("введите цыфру "))
if n in mas:
    print '%d - входит в массив' % n
elif n<3:
    print '%d - меньше указанного диапазона' % n
else:
    print '%d - больше указанного диапазона' % n
#193719

В python 2.x input() возвращает число, а raw_input() - строку.
Так что можно и так

mas = [3,4,5,6,7]
n= input("введите цыфру ")
if n in mas:
print '%d - входит в массив' % n
elif n<3:
print '%d - меньше указанного диапазона' % n
else:
print '%d - больше указанного диапазона' % n

Кстати, в python 3.x input() возвращает строку, так что пришлось бы писать

text
n= int(input("введите цыфру "))
Войдите или зарегистрируйтесь, чтобы ответить.