首页 > 解决方案 > 在命令行中输入字符串时,为什么我的代码读入 0 个元音?

问题描述

我被困在为什么我的代码不计算元音的数量,包括不区分大小写,并打印一个报告在单词“and”中找到的元音数量的句子。

import sys

vowels = sys.argv[1]

count = 0 

for vowel in vowels:
   if(vowel =='a' or vowel == 'e' or vowel =='i' or vowel =='o' or vowel =='u' or vowel 
   =='A' or vowel =='E' or vowel =='I' or vowel =='O' or vowel =='U'):
      count += 1

if count == 0:
   print('There are 0 vowels in '.format(count))
elif count < 2:
   print('There is 1 vowel in '.format(count))
else:
   print('There are {} vowels'.format(count, vowels))

在我的终端中:

用户$ python vowel_counter.py 和

有 0 个元音在

有 0 个元音在

标签: pythonfor-loopiterator

解决方案


sys.argv 是运行参数的列表,其中第一个元素始终是您的运行文件。因此,您不会遍历文本,而是遍历参数 ['vowel_counter.py', 'and']。

你应该这样做:

vowels=sys.argv[1]

推荐阅读