


Проблема Python (sys.argv) Помогите решить проблему, пожалуйста ))
Ребята, нужна помощь ) пытаюсь изучать Python, столкнулась с проблемой (Гугл в помощь и т. д. пробовала - чайник я, судя по всему, совсем (( - не нашла ничего подходящего). В общем, есть вот что:
import sys
import math
a=float(sys.argv[0.5])
b=float(sys.argv[10])
x=((math.sqrt(a*b)/(math.pow(math.e,a)*b))+a*math.pow(math.e,(2*a/b)))
print (x)
Проблема ошибка:
Traceback (most recent call last):
File "D:\IT\Prog_3.py", line 4, in
b=float(sys.argv[10])
IndexError: list index out of range
Пыталась через Консоль (после имени файла перечисляла аргументы - не помогает). При чем если аргументы только целые (1, 2, 3) - прописать в консоли после имени файла аргументы (например, название файла Prog_3.py, пишу D:\>IT\Prog_3.py 1 2) помогло - считает моя формула, ответ правильный. При этом если один из аргументов 10 и больше (11,15, 20...) или дроби (0.5, 1.4...) - ничего не получается (((((. Метод try except не подходит (по условию задания нельзя его использовать).
Я тут опус составила - просто как можно подробнее пишу, может, так мне помочь кто-то сможет )
Где ошибка? Пытаюсь сама разобраться, спросить не у кого (( Как исправить? Что не так делаю?
Еще - пыталась и на Python 2 и Python 3 делать - результат одинаков ((
Спасибо за помощь )
ну, правильный код для двух аргументов
import sys
import math
a=float(sys.argv[1])
b=float(sys.argv[2])
x=((math.sqrt(a*b)/(math.pow(math.e,a)*b))+a*math.pow(math.e,(2*a/b)))
print (x)
а дальше надо смотреть как вы его запускаете.
нужно вот так, например:
python test.py 3.14 200
3.24558360617
import sys
import math
a=float(sys.argv[1])
b=float(sys.argv[2])
x=math.sqrt(a*b)/(math.exp(a)*b)+a*math.exp(2*a/b)
print x