qcyQCY 发表于 2020-10-16 15:07:24

Python max


求输入的一串数字中的MAX;
为什么出现的是最大的数字6,而不是1656



def max_q(m):
    m=a;
    for i in a:
      if m<i:
            m=i;
    return m


a=input('请输入一串数字:')
print('最大值是:',max_q(a))

qq275055984 发表于 2020-10-16 15:07:25

你这样写的话,a = '453,4,456,1656' 这个字符串,for i in a 是遍访a 里面的每个元素。你想做的应该是把a = '453,4,456,1656'转化成a = 这样,然后找出列表里的最大值。
这样写也许行:
a=input('请输入一串数字:')
x=a.split(sep=',')#分隔切片字符串,然后拼接成列表
list1=[]
for i in x.copy():
    list1.append(int(i))
b=max(list1)
print('最大值是:%d' % (b))

抉择啊 发表于 2020-10-16 15:50:21

def max_q(m):
    val = m.split(',') #将传入的字符串以','分开
    max1 = int(val);#设置默认的最大值为分离出来的第一串字符
    for i in val:#遍历分离完的字符串
      i = float(i)#装换每一个字符串为浮点型
      if max1 < i:
            max1 = i;
    return max1#放回判断结果

a=input('请输入一串数字:')
print('最大值是:',max_q(a))

疾风怪盗 发表于 2020-10-16 16:35:06

def max_q(m):
   return max(eval(i) for i in m.split(','))

a=input('请输入一串数字:')
#a='453,4,456,1656'
print('最大值是:',max_q(a))
页: [1]
查看完整版本: Python max