如何编写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
答案 0 :(得分:3)
您可以使用以下内容:
sys.argv[2]
sys.argv
是sys.argv
中的第3个元素,这意味着>= 3
的长度应该至少为3.如果不是'a'
,我们会指定letter
1}}到{{1}}