定义一个变量值为30,字符串格式化输出30%到屏幕

2020-05-14  本文已影响0人  弦好想断

定义一个变量值为30,字符串格式化输出30%到屏幕

c=30
print("%d%%" % c )
30%

编写一个可变长度参数的函数,这个函数接收多个字符串作为参数,然后返回长度最长的字符串。

def max_len_string(*string):
    """接收多个字符串作为参数,返回长度最长的字符串"""
    a={}
    for i in list(string):
        a[i] = len(i) 
    print(a)
    b = []
    for value in a.values():
        b.append(value)
    print(b)
    c=[]
    for key in a.keys():
        if a[key]==max(b):
            c.append(key)
    return c
max_len_string('asd','dsdafd','afd','','dsdasd')
{'asd': 3, 'dsdafd': 6, 'afd': 3, '': 0, 'dsdasd': 6}
[3, 6, 3, 0, 6]

['dsdafd', 'dsdasd']

这个可能复杂度低点?

def get_lenth_max(*string):
    """接受多个字符串作为参数,返回长度最长的字符串"""
    list_string = list(string)
    if len(list_string)==0:
        return None
    else:
        len_list = [len(x) for x in list_string]
        a=max(len_list)
        b=[]
        for i in list_string:
            if len(i)==a:
#                 print(list_string.index(i))
                b.append(list_string[list_string.index(i)])
    return b
#         index = len_list.index(max(len_list))
get_lenth_max('asd','dsdafd','afd','','dsdasd')
['dsdafd', 'dsdasd']

考虑出现多个最大字符串长度的情况,思路要完整

上一篇下一篇

猜你喜欢

热点阅读