【问题标题】:Learn Python the Hard Way Help: Exercise 13艰难地学习 Python 帮助:练习 13
【发布时间】:2012-02-18 02:21:26
【问题描述】:

我在“艰难地学习 Python”的练习 13 中获得额外学分时遇到了问题。
它希望我将 argv 与 raw_input 结合起来,我无法弄清楚。
谁能帮帮我?例子会很棒!
非常感谢!
编辑:练习的原始代码是:

from sys import argv

script, first, second, third = argv

print "The script is called:", script
print "Your first variable is:", first
print "Your second variable is:", second
print "Your third variable is:", third

【问题讨论】:

标签: python


【解决方案1】:

示例与答案无法区分,这不太可能是帮助您的最佳方式。不过,也许你想多了这个问题。我相信这个想法是使用一些命令行输入(进入 argv)和一些输入的输入(来自 raw_input)来制作一个报告两者的脚本。例如,它可能会产生:

The script is called: ex13.py
Your first variable is: cheese
Your second variable is: apples
You entered the following data: foo bar baz

【讨论】:

  • 哦,这比我试图做的更有意义......谢谢!
【解决方案2】:

这就是我尝试的方式:

from sys import argv

script, weather, feeling = argv

print "Hot or Cold",
weather = raw_input()

print "Happy or sad",
feeling = raw_input()

print "The name of the script is:" , script
print "The day is:", weather
print "Today I am feeling:", feeling

【讨论】:

    【解决方案3】:
    import sys
    
    def main():
        all_args = sys.argv[:]
        user = None
        while user != 'STOP':
            user = raw_input('You have %d args stored. Enter STOP or add another: ' % len(all_args))
            if user != 'STOP':
                all_args.append(user)
        print 'You entered %d args at the command line + %d args through raw_input: [%s]' % (len(sys.argv), len(all_args) - len(sys.argv), ', '.join(all_args))
    
    if __name__ == '__main__':
        main()
    

    【讨论】:

      【解决方案4】:

      这也让我感到困惑。作者将此放在底部的常见问题解答中。

      问:我无法将 argv 与 raw_input() 结合使用。 答:不要想太多。只需在使用 raw_input() 获取某些内容然后打印它的脚本末尾添加两行。从此开始尝试在同一个脚本中使用更多方法。

      【讨论】:

      • 如果您有新问题,请点击 按钮提出问题。如果有助于提供上下文,请包含指向此问题的链接。
      • 不是一个新问题。作者在示例下方的常见问题解答中回答了问题。我只是指出作者已经有这个问题并回答了。
      【解决方案5】:

      这是我解决这个问题的方法:(注意:最初运行脚本时您仍然需要提供参数)

      from sys import argv
      
      script, first, second, third = (argv)
      
      print "The script is called:", script
      print "Your first variable is:", first
      print "Your second variable is:", second
      print "Your third variable is:", third
      
      first = raw_input("\nNew First Variable? ")
      second = raw_input("New Second Variable? ")
      third = raw_input("New Last Variable? ")
      
      print "\n\nYour new variables are %s, %s, and %s" % (first, second, third)
      

      这是我得到的输出:

      C:\Users\mbowyer\Documents\Python_Work>python ex13a.py 1 2 3
      
      
      The script is called: ex13a.py
      
      Your first variable is: 1
      
      Your second variable is: 2
      
      Your third variable is: 3
      
      New First Variable? a
      
      New Second Variable? b
      
      New Last Variable? c
      
      Your new variables are a, b, and c
      
      C:\Users\mbowyer\Documents\Python_Work>
      

      【讨论】:

        猜你喜欢
        • 2015-05-01
        • 1970-01-01
        • 2014-08-16
        • 2013-04-06
        • 2011-12-04
        • 2016-06-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多