#python
#python
Вопрос:
Спасибо!
def hello(a,b):
print "hello and that's your sum:"
sum=a b
print sum
import sys
if __name__ == "__main__":
hello(sys.argv[2])
У меня это не работает, я ценю помощь!!!
Спасибо!
Комментарии:
1. Я предполагаю, что вы пытаетесь использовать
sys.argv
перед его импортом. Отмените импорт и сделайте отступ при вызове функции .2. вызов hello с аргументом 1 также находится в списке подозреваемых.
3. Кроме того, если
sum
не объединять строки вместе, у вас могут возникнуть трудности.
Ответ №1:
Не видя вашего сообщения об ошибке, трудно точно сказать, в чем проблема, но несколько вещей выскакивают:
- Нет отступа после if __name__ == «__main__»:
- вы передаете только один аргумент в функцию hello, а для этого требуется два.
- модуль sys не виден в области видимости за пределами функции hello.
возможно, больше, но опять же, нужен вывод ошибки.
Вот что вы можете захотеть:
import sys
def hello(a,b):
print "hello and that's your sum:"
sum=a b
print sum
if __name__ == "__main__":
hello(int(sys.argv[1]), int(sys.argv[2]))
Ответ №2:
- Импортируйте
sys
в глобальную область, а не в конец функции. - Отправьте два аргумента в
hello
, одного недостаточно. - Преобразуйте эти аргументы в числа с плавающей точкой, чтобы их можно было добавлять в виде чисел.
- Отступ правильно. В Python отступ имеет значение.
Это должно привести к:
import sys
def hello(a, b):
sum = a b
print "hello and that's your sum:", sum
if __name__ == "__main__":
hello(float(sys.argv[1]), float(sys.argv[2]))