【python招商银行信用卡中心】字符串是否由子串拼接?

Python013

【python招商银行信用卡中心】字符串是否由子串拼接?,第1张

题目:给出一个非空的字符,判断这个字符串是否是由它的一个子串进行多次首尾拼接构成的。

  例如,"abcabcabc"满足条件,因为它是由"abc"首尾拼接而成的,而"abcab"则不满足条件。

输入描述:

非空字符串

输出描述:

如果字符串满足上述条件,则输出最长的满足条件的的子串;如果不满足条件,则输出false。

code:

string=input()

flag=0 

for i in range(len(string)): #遍历整个字符   

    string_sub=string[0:i] #从前往后的取子字符   

    cishu=string.count(string_sub) #计算这个子字符在总字符中的出现次数   

    if cishu*len(string_sub)==len(string): #如果子字符出现的次数乘上子字符长度等于总的字符长度       

        print(string_sub)       

        flag=1 #这个标记表明找到了对应的字符串   

    else:       

        pass 

if flag==0:   

    print('false')

如下:

def verify(numbers: str):

"""  

验证8位信用卡号的正确性  

:param numbers: 8位数字组成的字符串  

:return:  

"""

 

assert len(numbers) == 8, "请输入的8位字符串"

 

numbers_list = [int(x) for x in numbers]  # [1, 2, 3, 4, 5, 6, 7, 8]

 

# 从最右边数字开始,隔一位取一个数相加

 

sum1 = sum(numbers_list[::-2])

 

# 每一位乘2

 

time2 = [str(x * 2) for x in numbers_list[-2::-2]]

 

# 每一位相加

 

time2_str = "".join(time2)  # "141062"

 

sum2 = 0

 

for i in time2_str:

     

sum2 += int(i)

 

# 将上述两步得到的值相加

 

sum3 = sum1 + sum2

 

# 如果结果个位数字为0,则输入的信用卡号是有效的

 

if sum3 % 10 == 0:

     

return True

 

else:

     

return False

verify("12345678")

介绍

Python解释器易于扩展,可以使用C或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。Python 也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。

2021年10月,语言流行指数的编译器Tiobe将Python加冕为最受欢迎的编程语言,20年来首次将其置于Java、C和JavaScript之上。