Python | 使用while和for语句实现输入一串数字,输出最大值。附带作者使用这两种不同方法的一些数学思考。

文章介绍了在Python中查找列表最大值的两种方法:一种是通过for循环遍历并更新最大值;另一种使用while循环实现相同目的。两种方法的迭代和对比次数均为m次,适用于含有m个元素的列表。

两种方法,但是首先都需要经过生成list的语句。

lst=[]
for item in numbers.split():
    lst.append(int(item))

如果输入的这一串数字是用空格间隔,可以用这个,如果用逗号或者其它字符串需要自行更改。

#开始寻找max Method 1: (这种方法一直保证在已经对比的数字中选出最大的,因此只需要用后续的数字来对比就行,而并非重复的两两对比)
max=lst[0]
for item in lst:
    if item > max:
        max = item
print(max)


#第二种方法运用while  (这种对比方法仍然是更新最大值,然后寻找后续的数字进行对比。)
i=0
j=i+1
max=lst[0]
while j < len(lst):
    if lst[j]>max:
        max=lst[j]
        j=j+1
    else:
        j=j+1

print(max)

这两种代码的迭代次数是相同的,取决于len(lst)。此外,对比次数也是相同的,因为二者的思想都是通过不断更新最大值,并且用后续的数字来跟最大值进行对比实现的。

因此,给一组含m个元素的单维数组,我们只需要比较m次就可以寻找到最大值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值