鱼C论坛

 找回密码
 立即注册
查看: 89|回复: 3

Python max

[复制链接]
最佳答案
1 
发表于 7 天前 | 显示全部楼层 |阅读模式
3鱼币

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




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


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

3.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
0 
发表于 7 天前 | 显示全部楼层
你这样写的话,a = '453,4,456,1656' 这个字符串,for i in a 是遍访a 里面的每个元素。你想做的应该是把a = '453,4,456,1656'转化成a = [453,4,456,1656]这样,然后找出列表里的最大值。
这样写也许行:
a=input('请输入一串数字:')
x=a.split(sep=',')#分隔切片字符串,然后拼接成列表
list1=[]
for i in x.copy():
    list1.append(int(i))
b=max(list1)
print('最大值是:%d' % (b))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
4 
发表于 7 天前 | 显示全部楼层
  1. def max_q(m):
  2.     val = m.split(',') #将传入的字符串以','分开
  3.     max1 = int(val[0]);#设置默认的最大值为分离出来的第一串字符
  4.     for i in val:#遍历分离完的字符串
  5.         i = float(i)#装换每一个字符串为浮点型
  6.         if max1 < i:
  7.             max1 = i;
  8.     return max1#放回判断结果

  9. a=input('请输入一串数字:')
  10. print('最大值是:',max_q(a))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
296 
发表于 7 天前 | 显示全部楼层
  1. def max_q(m):
  2.      return max(eval(i) for i in m.split(','))

  3. a=input('请输入一串数字:')
  4. #a='453,4,456,1656'
  5. print('最大值是:',max_q(a))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1

GMT+8, 2020-10-23 04:36

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表