我是新的编码,所以我很抱歉-我相信这个解决方案可以找到只要如果语句和for语句。你知道吗
我有一个用户输入的10个字符串的列表,我想测试是否有任何单词以'ly'结尾
list = []
ly= 'ly'
for l in range(10):
us = [str(input("Enter a subject: "))]
list.append(us)
for a in list:
if ly in a:
print (a, "is an adverb")
else:
print (a)
我的代码目前只会说ly是一个副词;但是,它不会说ly是一个副词。任何帮助都将不胜感激。你知道吗
当前代码中有两个问题。你知道吗
你想用str.endswith公司,例如
if a.endswith(ly)
us = [str(input("Enter a subject: "))] list.append(us)
us是一个包含输入字符串的列表,而不仅仅是输入的字符串。然后将此列表添加到另一个列表中。相反,您的代码应该
us = str(input("Enter a subject: "))
(无周围支架)
你的主要问题是你有
list
的list
,而不是list
的str
,因为这行:这些括号将
str
包装起来,形成一个单元素list
。因此,如果您键入foo
,barly
,然后ly
,(我们将跳过所有10个),您将得到一个list
:当你可能预料到:
问题是
in
检查检查的是list
包装器的in
检查,而不是str
,因此它只在实际的ly
上匹配(因为"ly"
在list
中),而不是其他任何东西(因为它们不等于"ly"
)。你知道吗拆下支架,使其:
然后要确保您正在进行后缀检查(不仅仅是
ly
在字符串中的任何位置),请将:if ly in a:
更改为if a.endswith("ly"):
。你知道吗相关问题 更多 >
编程相关推荐