对于模糊的标题感到抱歉,但这是我的问题。 (我刚刚开始这项研究)
list_1 = [a, b, c, d, e, f]
input_1 = input('question1')
input_2 = input('question2')
让我们说他们选择了
input_1 = b
input_2 = f
我需要在两个选定的字母之间打印字母的东西。 所以你会得到
c
d
e
我尝试使用带有if语句的for语句,但它没有很好地解决。 我还需要检查input2是否在列表中比input1更进一步的东西。我试过
if input_2 > input_1:
print('yey')
else:
print('not recognized, automatically f')
input_2 = list_1[-1]
抱歉初学者问题=(
答案 0 :(得分:0)
您可能希望循环浏览列表并比较数字中的字符。
for i in range(len(list_1)):
if list_1[i] > input_1 and list_1[i] < input_2:
print list_1[i]
答案 1 :(得分:0)
if input_1 in list_1 and input_2 in list_1:
print(list_1[list_1.index(input_1)+1:list_1.index(input_2)])
else:
print('didn't find input_1 or input_2)
此?
如果你需要在input_2之前或在input_1之后自动打印列表的其余部分,你可以添加if语句,如
if input_1 in list_1 and input_2 in list_1:
print(list_1[list_1.index(input_1)+1:list_1.index(input_2)])
elif input_1 in list_1 and not input_2 in list_1:
print(list_1[list_1.index(input_1)+1:])
elif not input_1 in list_1 and input_2 in list_1:
print(list_1[0:list_1.index(input_2)])
else:
print('didn't find input_1 or input_2)
答案 2 :(得分:0)
input_1
和input_2
是列表中的元素。
您可以在python中使用slice来获取输入元素之间的元素。
index_1 = list_1.index(input_1)
index_2 = list_l.index(input_2)
new_list = list_1[index_1:index_2]
print new_list
答案 3 :(得分:0)
您可能想使用list.index()方法,您可以找到文档here。
在您的情况下,这看起来像
i1 = list_1.index(input_1)
i2 = list_1.index(input_2)
if i2 > i1:
print('yey')
然后您可以使用切片和循环来打印子列表
sublist = list_1[i1:i2]
for c in sublist:
print(c)
答案 4 :(得分:0)
您可以遍历列表并为每个输入取出索引,然后测试您想要的条件。像这样:
list1 = ['a', 'b', 'c', 'd', 'f']
input_1 = 'b'
input_2 = 'f'
input_1_index = -1
input_2_index = -1
for i in range(len(list1)):
if list1[i] == input_1:
input_1_index = i
elif list1[i] == input_2:
input_2_index = i
if input_1_index == -1 or input_2_index == -1 or input_1_index > input_2_index:
print('error')
else:
print(list1[(input_1_index+1):input_2_index])
答案 5 :(得分:0)
这是我正在尝试做的版本。确保字母表是整个字母列表,并且您可以检查用户输入是否是字母表中的字符串。
alphabet = ['a', 'b', 'c', 'd']
input_1 = str(input(""))
input_2 = str(input(""))
Input1Pos = alphabet.index(input_1)
Input2Pos = alphabet.index(input_2)
if (Input2Pos > Input1Pos):
Input1Pos = Input1Pos + 1
print alphabet[Input1Pos:Input2Pos]
elif (Input2Pos == Input1Pos):
print "There are no characters between these two inputs"
else:
print "The second input was before the first input"