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