如果在+ python中没有传递参数,我如何分配默认值

时间:2016-12-07 22:25:17

标签: python

如何编写letter = sys.argv[2] or 'a',以便在a中传递的参数不会被分配给字母。所以基本上我想要默认值{{1除非传入某些内容,否则为letter。如果要传递某些内容,我希望将其分配给a

这是我的简单程序:

letter

这是我通过传递2个参数$ cat loop_count.py import sys def count(word,letter): for char in word: if char == letter: count = count + 1 return count # WHAT I WANT word = sys.argv[1] or 'banana' # if sys.argv[1] has a value assign it to word, else assign 'banana' to word letter = sys.argv[2] or 'a' # if sys.argv[2] has a value assign it to letter, else assign 'a' to letter print 'Count the number of times the letter',letter,' appears in the word: ', word count = 0 for letter in word: if letter == 'a': count = count + 1 print count pea

来运行程序
a

我希望参数是可选的,所以我希望不必传递字母arguemt。 那么如何编写$ python loop_count.py pea a Count the number of times the letter a appears in the word: pea 1 以便如果没有信件中传递的参数将分配给letter = sys.argv[2] or 'a'

这是我只用一个参数运行程序,我希望参数是可选的。

a

1 个答案:

答案 0 :(得分:3)

您可以使用以下内容:

sys.argv[2]

sys.argvsys.argv中的第3个元素,这意味着>= 3的长度应该至少为3.如果不是'a',我们会指定letter 1}}到{{1}}