2014-02-23 76 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

请避免修辞问题:) –