Уча се от кода и се обърквам от един от неговите редове, който е:
things = [float(arg) for arg in sys.argv[1:]]
Omega_a, Omega_b, Delta_a, Delta_b, \
init_pop_a, init_pop_b, tstep, tfinal = things
Търсих онлайн и се опитах да разбера какво означава sys.arg
и ето моето разбиране:
Така че sys.argv[0]
е името на файла, а sys.argv[1:]
са останалите параметри, които трябва да бъдат дадени от потребителите. Не съм сигурен дали го разбрах правилно и ако е така, тогава не разбирам защо не може да бъде така:
Omega_a = input()
Omega_b = input()
etc...
Каква е разликата между тези два начина за даване на параметри?
Освен това, ако стартирам кода (натисна F5), обвивката на Python ми дава грешка като:
Traceback (most recent call last):
File "C:\Users\testcode.py", line 55, in <module>
init_pop_a, init_pop_b, tstep, tfinal = things
ValueError: need more than 0 values to unpack
Дори не ми беше даден шанс да дам параметри (sys.argv[1:]
), преди да ми даде грешка. Така че потърсих онлайн. Изглежда, че трябва да стартирам този код в cmd, което ме обърка повече, защо трябва и как трябва да поставя в cmd, за да го стартирам?