2014-02-23 121 views
2

我一直在尋找一段時間,一直未能弄清楚這一點。Kali Linux上的Python腳本

我正在運行Kali Linux,我試圖運行一個非常簡單的腳本,而且我沒有得到我期望的輸出。我曾經在windows上編程python,並轉換到Kali,我無法得到這個基本的腳本給我所需的輸出。

a = 1 
b = 2 
a + b 

這應該給我3的輸出,但是我沒有得到任何輸出。

當我運行:

a = 1 
b = 2 
a + b 

print "test %s" %a 

我得到的輸出:

test 1 

任何幫助是極大的讚賞

+1

您打印'了'而不是'A + B'。請檢查:'print'test%d「%(a + b)' – mshsayem

回答

3

說你正在運行的腳本,我認爲你是不在交互式shell中運行代碼,這會爲您提供預期的輸出。但是,在運行腳本時,必須告訴計算機到底要做什麼。您錯過了第一個腳本中的打印語句。所以,計算機計算出這筆金額並愉快地退出。

現在在第二個腳本中,您在打印之前忘了添加。而且,'%s'是字符串的字符串格式化程序,這意味着它需要一個字符串。在這裏,我們應該用 '%d' 爲一個數字(數字)

因此,嘗試兩種:

a = 1 
b = 2 
c = a + b 

print "test %d" %c 

或直接

a = 1 
b = 2 
print "test %d" %(a+b) 
+0

是的,通過運行腳本,我將它寫入GVIM並保存爲.py,然後在終端中運行。這有點不同,我習慣在windows中編寫。通常在窗口中,第一個代碼將分配變量並讓python計算a + b的值,而不需要將c定義爲變量/等式,並且不需要告訴python打印「c」 – MatTtT

+0

由於您正在執行該腳本通過python而不是來自交互式環境,您必須明確地打印出結果,如我在上面的示例中所示。請注意字符串格式化程序中的更改,並記住總結它們。 :) – darkryder

+0

謝謝,我想這將是一個從窗口來的學習曲線。在Windows中,我能夠運行同一行代碼並獲得不同的結果。謝謝! – MatTtT

0
在你的代碼

你有兩個變量a和b分配一些值,然後你添加a和b,但它必須存儲在某個地方; a+b並不意味着總數ab進入a

a=10; 
b=20; 
c=a+b; 

print c 

a=10; 
b=20; 
c=a+b; 
print "test %d" %c 

a=10; 
    b=20; 
    c=a+b; 
    print "test %d" %(a+b) 
+0

請避免修辭問題:) –