大佬帮忙修改一下代码
【问题描述】本题目要求读入一个字符串,输出字符串的最长数字子串。
【输入形式】
输入一个字符串
【输出形式】
输出最长数字子串,若有多个最长数字子串输出最后一个,若字符串无数字字符,则输出“No digits”。
【输入样例】
sdffsd123werrer456fgdgdg1dfgdf12
【样例输出】
456
【样例说明】
string = input()
result, record = '',
for i in range(len(string)):
if string.isdigit():
result += string
else:
if len(result) >= record - record:
record =
result = ''
print(string:record]) 第一行改成
string = input() + "*"
就对了,给输入的字符串最后加个字符,随便什么字符,只要不是数字就可以
你代码的问题就在这里 这个代码的问题就是最后一位是数字的时候record不会改变,所以改变record的代码要放到前面,在if string.isdigit()里,或者同楼上给字符串加一个非数字字符结束
string = input()
result, record = '',
for i in range(len(string)):
if string.isdigit():
result += string
if len(result) >= record - record:
record =
else:
result = ''
print(string:record])
也可以这样写
string = input()
result, record = '', 0
for i in string:
if i.isdigit():
result += i
if len(result) >= record:
record = len(result)
new = result
else:
result = ''
print(new)
页:
[1]