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