我有一个列表,如下所示:
mylists = [[['CS105', 'ENG101', 'MATH101', 'GER'], 3.4207362518089726, 0.2808766238976195], [['CS105', 'ENG101', 'GER', 'GER'], 2.9687393162393163, 0.3408964829117446]]
我试图做的是获取用户提供的数字,然后检查与每个子列表的第二个元素相比,提供的数字是否等于或在+0.6的范围内。换句话说,我想做以下工作:如果用户输入是3.4,那么我想根据提供的列表示例检查这两个数字:3.4207362518089726和2.9687393162393163,如果这些数字在输入的+0.6范围内,那么将整个子列表保存在另一个列表中
因此,user_input=3.4,mylist[0][1]=3.4207362518089726,mylist[1][1]=2.9687393162393163,我想将每个具有3.4及以上的子列表放到一个新列表中,直到4.0(由于+0.6的范围)
我的想法是:
for i in range(0, len(mylists)):
if mylists[i][1] >= user_input + 0.6:
new_list.append(mylists[i])
但这当然不起作用
您得到的是错误还是意外的输出
也许你可以试试:
您可以使用以下选项:
另一种方式是:
您的条件语句写得不正确-它正在选择第二个元素为的子列表
>= user_input + 0.6
(其计算结果为>= 4.0
,但您希望第二个元素为between 3.4 and 4.0
。因此,我相信您所需要做的就是如下更改:希望对你有帮助,编码快乐
相关问题 更多 >
编程相关推荐