Я учусь на коде, и меня смущает одна из его строк:
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, чтобы запустить его?