""" 第二大 给定一个混合字符串,找出字符串中第二大的数字 如果不存在第二大的数字,返回-1. 混合字符串由小写英文字母和数字组成。 """ def second_number(s): """ 寻找字符串s中第二大的数字。 参数: s (str): 输入的字符串,可能包含数字和非数字字符。 返回: int: 字符串s中第二大的数字,如果不存在则返回-1。 """ # 初始化两个变量,用于记录第一大和第二大的数字 first = -1 second = -1 # 遍历字符串中的每个字符 for char in s: # 判断字符是否为数字 if char.isdigit(): num = int(char) # 如果当前数字大于已记录的第一大数字 if num > first: # 将原第一大数字更新为第二大数字 second = first # 更新新的第一大数字 first = num # 如果当前数字大于已记录的第二大数字且不等于第一大数字 elif num > second and num != first: # 更新第二大数字 second = num # 返回第二大数字 return second print(second_number('a1b2c3d4e5'))
评论前必须登录!
注册