Python 3
因为顺序不一致,导致其中一个运行案列失败
N = input()
L = input()
M = input()
I = input()
Lx = list(str(L))
Ix = list(str(I))
if set(Ix) >= set(Lx):
print('unlock')
else:
print('lock')
题目要求是:电子锁密码,只要连续输入正确顺序的数字就可以解锁,比如密码是:1234,你输入12345也能打开箱子,但是54321就打不开了,顺序也得正确。现在的要求就是:键盘输入以下几个数据
3 (满足开锁条件的密码数字有几个)
4 7 1 (正确密码)
7 (你输入的密码数字的个数)
1 5 3 4 7 1 9 (你输入的密码)
目的是我在键盘输入这几个数字以后,能够判断是否能开锁,可以的话输出‘unlock’,反之'lock'.
刚接触Python,我的想法是比较两个数字列,用if~else来判断能否解锁,但好像不太行,顺序没法保证。希望大家能帮我看看怎么解决。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author: Roc-xb
"""
if __name__ == '__main__':
N1 = int(input())
N1_list = list(map(int, input().split()))[0:N1]
print(N1_list)
password1 = "".join('%s' % i for i in N1_list)
N2 = int(input())
N2_list = list(map(int, input().split()))[0:N2]
password2 = "".join('%s' % i for i in N2_list)
if password1 in password2:
print("unlock")
else:
print("lock")
case 1
3
4 7 1
7
1 5 3 4 7 1 9
case 2
4
1 5 1 6
10
6 4 7 9 4 4 1 1 5 9
case 3
10
1 5 5 3 7 0 0 5 2 3
5
8 7 0 3 1
看的比较迷茫,你这是给了3组开锁失败的案例数据吗
print('unlock' if input.find(passwd) >=0 else 'lock')