学习作业(使用python-3):
对于研究作业,我需要编写一个程序,打印字符串中所有元音的索引,最好使用'while-loop'。 到目前为止,我已经设法设计了一个'for-loop'来完成工作,但我肯定需要一些关于'while-loop'的帮助
for-loop solution:
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 )
使用'index()'或'find()'会在这里使用吗?
答案 0 :(得分: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) + " "
答案 1 :(得分: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(string),然后它将打印结果与len的字符串一样多次。
由于这是您的学习作业,您应该自己查看并练习而不是复制粘贴。以下是解决方案的其他信息:
在数学中,两组A和B的交点A∩B是该组 包含A的所有元素也属于B(或 等价地,B的所有元素也属于A),但没有其他元素 元素。有关本文中使用的符号的说明,请参阅 到数学符号表。
在python中:
Python中的intersection()语法是:
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))