代码不会在bash(python)中显示

时间:2013-04-09 02:07:41

标签: python bash terminal textwrangler

我在我的mac上使用python并通过warngler使用python而且很多东西随机出错,所以我觉得我做错了。我有一个非常简单的程序,当我在终端的bash中运行它时它不会出现。这是代码:

def shoes():
    j= "jordans"
    a= "adidas"
    n= "nikes"
    question = input("whats ur fav. shoe?")
if a:
    return a

我这样用bash访问它:

cd ~/Desktop/scripts

ls

python shoe.py

然后什么都没有出现

2 个答案:

答案 0 :(得分:1)

添加:

if __name__=='__main__':
    shoes()

如果您想展示某些内容,请使用print 123sys.stdout(123)

答案 1 :(得分:1)

你在那里做什么:

def shoes():
    j= "jordans"
    a= "adidas"
    n= "nikes"
    question = input("whats ur fav. shoe?")
    if a:
        return a

命名 - 定义 - 发明一个函数,该函数在脚本中的其他位置调用(之后)为shoes()

当你想要调用它时,你应该以某种方式明确地调用它:shoes()

如果你想让你的python脚本定义一个函数,然后使用它你应该写:

# comments start of your script

#there I am defining the function shoes()
def shoes():
    j= "jordans"
    a= "adidas"
    n= "nikes"
    question = input("whats ur fav. shoe?")
    if a:
        return a

#there I'm calling right now the function shoes()
shoes()   # there I do it inside the main script

你似乎是新手,只是另一个功能的例子:

def unotherfunction(i):
    for i in range(0,i+1):
        shoes()

#If I call unotherfunction(), then, only then, shoes will be called twice, or fourth, or 7th or depending on the number your set to i like 2, 4 or 7..

unotherfunction(5) # will call 5 times your function shoes() ( asking you 5 times the same question of course ;-)

最后,也许,你应该添加一个测试:

question = input("whats ur fav. shoe?")
if a = question:
    return a

这将使输入更有意义。否则,键盘输入不是测试的一部分。

然后再次发出警告,你只有一条路径可以返回一个不错的值a ...注意......你会看到......在其他路径中,它会以静默的方式返回None给你惊喜......