定义一个变量值为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']
考虑出现多个最大字符串长度的情况,思路要完整