Bom, tenho que descobrir se os algarismos de P estão em Q um ao lado do outro; porém meu código está verificando apenas se os algarismos se encontram em Q, não necessariamente um após o outro.
Exemplo do que estou querendo:. P = 45, Q = 67459; -> P é subnúmero de Q
P = 45, Q = 847835; -> P não é subnúmero de Q
Exemplo do que está acontecendo:. P = 43, Q = 3483; -> P é subnúmero de Q
P = 43, Q = 4023; -> P não é subnúmero de Q
PS: Não sei se esta é a forma mais simples de fazer este código…
print("ATENÇÃO!, o valor de P não pode conter mais algarismos que o valor de Q!!")
q = int(input("Digite o valor de Q: "))
p = int(input("Digite o valor de P: "))
st_p = str(p)
st_q = str(q)
tm_p = len(st_p)
tm_q = len(st_q)
lista_q = []
lista_p = []
ctd = 0
for i in range(tm_q):
lista_q.append(st_q[i])
for n in range(tm_p):
if st_p[n] in lista_q:
ctd = ctd + 1
else:
ctd = ctd + 0
if ctd == len(st_p):
print("P é subnumero de Q")
else:
print("P não é subnumero de Q")
if tm_p > tm_q:
print("O valor digitado não atende à restrição solicitada!")