2017-09-24 50 views
-2

研究分配(使用python-3):查找和打印元音

对于学习任务,我需要编写打印所有元音的指标在一个字符串的程序,最好使用“而循环”。 到目前为止,我已经成功地设计了一个“for循环”来完成这项工作,但我可以肯定需要在“while循环”

for循环的解决方案有所帮助:

string = input("Typ in a string: ") 
vowels = "a", "e", "i", "o", "u" 
indices = "" 

for i in string: 
    if i in vowels: 
     indices += i 
print(indices) 

while循环溶液:

string = input("Typ in a string: ") 
vowels = "a", "e", "i", "o", "u" 
indices = "" 

while i < len(string): 
    <code> 
    i += 1 
print(indices) 

会使用'指数()''查找()'在这里工作?

回答

0

您可以通过做string[x]获得字符串索引x处的字符!

i = 0 # initialise i to 0 here first! 
while i < len(string): 
    if string[i] in vowels: 
     indices += str(i) 
    i += 1 
print(indices) 

然而,正在indices一个str真的适合?我不这么认为,因为你们之间没有分隔符。字符串"12"是否意味着索引1和2处有2个元音,或者是一个元音索引12?您可以尝试使用一个列表来存储索引:

indices = [] 

而且你可以通过执行添加i它:

indices.append(i) 

顺便说一句,你的for循环解决方案将打印元音字符,而不是指数。

如果您不想使用列表,也可以在每个索引后面添加一个额外的空格。

indices += str(I) + " " 
+0

谢谢扫地!难点在于我还没有学会如何使用列表,接下来的两章是元组和列表。我真的仍然很难创造性地使用我们迄今学到的“工具”(这些工具包括:表达式,变量,条件,迭代,函数和当前章节的字符串)但我理解你的解释,谢谢你的支持帮帮我! – GJ01

+0

@ GJ01我编辑了答案。 *有*解决方法。 – Sweeper

+0

太棒了!非常感谢! :-)你对'元音'和'索引'也是正确的,但我不知道如何返回索引。 – GJ01

0

试试这个:

string = input("Typ in a string: ") 
    vowels = ["a", "e", "i", "o", "u"] 




     higher_bound=1 
     lower_bound=0 

     while lower_bound<higher_bound: 
      convert_str=list(string) 
      find_vowel=list(set(vowels).intersection(convert_str)) 
      print("Vowels in {} are {}".format(string,"".join(find_vowel))) 

      lower_bound+=1 

您还可以设置higher_bound为len(字符串),那么它就会打印结果多次字符串LEN。

既然这是你的研究任务,你应该看看和练习自己,而不是复制粘贴。下面是解决方案的其他信息:

在数学中,交点A∩两个集合A的B和B是包含A的所有元素也属于B(或 等效地设定 ,的所有元素B也属于A),但没有其他 元素。有关本文中使用的符号的说明,请参阅数学符号表中的 。

在蟒蛇:

在Python路口()的语法是:

A.intersection(* other_sets)

A = {2, 3, 5, 4} 
B = {2, 5, 100} 
C = {2, 3, 8, 9, 10} 

print(B.intersection(A)) 
print(B.intersection(C)) 
print(A.intersection(C)) 
print(C.intersection(A, B)) 
+0

谢谢保罗!真的很有趣的解决方案,但我还没有那么先进。将到达那里,但也许不是今天;-) – GJ01