learn python the hard way 習題13運行問題..?
01-06
learn python the hard way 習題13為什麼用pycharm會出現這種情況?
參數傳的少了在命令行里應該這樣調用"python test.py arg1 arg2 arg3"在pycharm下,選擇Run-&>Edit Configurations 在「Script parameters"里填入其他參數如」arg1 arg2 arg3",然後點運行。
argv 是運行參數 直接在 pycharm 運行的時候默認是不會帶參數的 也就是 argv 沒有被正確賦值, 因此提示無法 unpack
因此你需要在命令行下運行
python test.py wen zhao lun
test.py
wen
zhao
lun
PS: argv 里默認第一個元素是文件名
這段代碼的目的是要你熟悉 sys裡面argv的意義,這個的argv表示運行參數,是一個List包括python文件被調用時候自身的文件名全名以及後面的所有參數。因此,為了讓這段代碼能夠正常使用,需要在調用這個python文件的時候傳入相應的參數數量。除開文件本身,還需要3個參數,由於PyCharm在運行python文件的時候並沒有默認的自帶參數,題主需要在PyCharm中自行配置或者像其他答主所說的在命令行中運行這個腳本。
script, first, second, third = argv
PyCharm的配置方法在菜單的 Run -&> Edit Configurations中配置如下
然後就可以看到正確的運行結果了
最後補充一句,個人覺得新學編程還是用各類文本編輯器 + 命令行比較好,IDE太智能了,很多細節都注意不到。
你先得知道這段代碼是幹什麼用的,我估計你不知道。
執行這個腳本需要你提供命令行參數,就跟前面很多答主說的一樣。pycharm內部可以打開一個終端,你可以直接在這個終端裡面執行這個腳本。
我這個從沒看過一眼 PY 的人,基本看眼代碼我就明白什麼意思了,,,
你卻不知道,,
你這書白看了,使用命令行,傳參
是初始化的參數,就是一般命令行後面附帶的-version之類的,它的描述是這樣子的。哎呀跟大神們在同一層樓里好激動φ(゜▽゜*)?
學妹,你很萌。
你為什麼不按作者的要求Hard way 的學習?他讓你用ide 了嗎?作者讓你完全重複他的步驟,你為什麼不聽話?
需要參數
其實這段代碼是接收命令行參數並顯示出來 類似c#裡面的string[] args作用就是比如你調用vim顯示一個文件 命令是vim "文件路徑" vim就可以通過這個參數接收到文件路徑打開它 你調用的時候沒加參數 就出錯了
這段代碼主要就在argv這個東西上,看代碼,可以猜測,argc是個函數,然後去google一下argv這個東西就好,看看怎麼用的
入門請用PyCharm Educational EditionPyCharm Educational Edition
推薦閱讀:
※為什麼人們會崇拜一個編程語言?
※程序猿怎樣才能修鍊到負責一個真正意義上的項目?
※學好編程可以幹什麼?
※C 語言中 int main() 和 void main() 有何區別?
※能否寫出一個程序,按照需求,自動生成實現的代碼?