LINUX.ORG.RU

Самый ламерский вопрос про python.


0

1

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
print «Сколько будет два+два?»
inputme=raw_input()
if inputme==4():
print «правильна»
elif():
print «Что?»
zero=1

Почему она не работает?

./test.py
Сколько будет два+два?
4
Traceback (most recent call last):
File "./test.py", line 6, in <module>
if inputme==4():
TypeError: 'int' object is not callable
lol@lol-desktop:~/Рабочий стол$

Ответ на: комментарий от annoynimous

Они есть!!(вроде)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
print «Сколько будет два+два?»
inputme=raw_input()
if inputme==4():
_print «правильна»
elif():
_print «Что?»
zero=1

dandelions
() автор топика

ох щи.

if inputme==4():

СКОБКИ о_О

gear ★★★
()
#!/usr/bin/env python                                                           
# -*- coding: utf-8 -*-                                                         
import sys
print "Сколько будет два+два?"
inputme=raw_input()
if int(inputme)==4:
    print "правильна"
else:
    print "Что?"
zero=1

Разницу сам ищи :)

zero=1
Толсто.

power
()

неправильная версия питона.

true_admin ★★★★★
()
Ответ на: комментарий от ACR

>получается int всётаки callable

int это класс, так что всё ок

anonymous
()

Мдя

ТС, вопрос действительно ламерский, но ты не расстраивайся — половина ответов ещё хуже. Вместо

inputme=raw_input()
if int(inputme)==4:
кошернее
inputme=input()
if inputme==4:
Попутно и валидания пройдет, input кушает только python-выражения. А по сабжу:
if предикат:
    ...
elif другой предикат:
    ...
elif ещё другой предикат:
    ...
elif и ещё другой предикат:
    ...
...
else:
    ...

anonymous
()
Ответ на: комментарий от true_admin

> int да, а вот его инстансы нет.

а вот не хотите ли ещё немного прожаренного синтаксического сахарку?

ACR
()
Ответ на: Мдя от anonymous

Попутно и валидания пройдет, input кушает только python-выражения

Валидация? Откуда вы это взяли? input() делает следующее:

  • вызывает `raw_input'
  • к результату применяет `eval'

Валидации не вижу, а вижу выполнение произвольного пользовательского кода.

shylent
()
Ответ на: комментарий от shylent

> Валидации не вижу, а вижу выполнение произвольного пользовательского кода
Вот именно, кода. А raw_input сожрет всё, что набёрешь.
Если нужно получать int и только int, тогда лучше сразу выполнять полученную строку, чем руками её обрабатывать.
И по коду, согласитесь, непохоже, что это продакшн =).

anonymous
()

язабан

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.