鱼C论坛

 找回密码
 立即注册
查看: 2495|回复: 4

请问一下有没有人知道这个代码哪里错了,目的是计算最大值

[复制链接]
发表于 2019-7-7 06:56:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
print("--------纯白爱学习--------")
number = input("请您输入一个元组,小纯白将负责给你找出最大值哦:")
n = 0
i = len(number)
max = number[0]
while n < i-1:
    if number[n+1] > max:
        max = number[n+1]
        n += 1
print(max)


还有就是我怀疑可能我在运行中输入数的格式错了,我试着用(1,2,3,4,5)及1,2,3,4,5这两种形式都得不出结果,请有知道的大哥指点迷津

另外还有个问题,我想知道str1 = [::3]这里两个冒号代表什么意思。
我在这里先谢谢大家了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-7-7 09:02:46 | 显示全部楼层
n-1,缩进和上面的if对齐。
while n < i-1:
    if number[n+1] > max1:
        max1 = number[n+1]
    n += 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-7 09:03:12 | 显示全部楼层
本帖最后由 新手·ing 于 2019-7-7 09:05 编辑

问题在于input获取到的是个字符串,而不是你输入什么就是什么
print("--------纯白爱学习--------")
number = input("请您输入数字小纯白将负责给你找出最大值哦(每个值之间用空格分开):").split(' ')
n = 0
i = len(number)
max = int(number[0])
while n < i-1:
    if int(number[n+1]) > max:
        max = int(number[n+1])
        n += 1
print(max)
第二个问题,每隔两个一取值。
举例:
>>> a = [1,2,3,4,5,6,7,8,9][::3]
>>> a
[1, 4, 7]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-7-7 09:09:50 | 显示全部楼层
本帖最后由 jackz007 于 2019-7-7 09:12 编辑
print("--------纯白爱学习--------")
number = input("请您输入一个元组,小纯白将负责给你找出最大值哦:")
max = 0
for x in number . split(','):
    if int(x) > max:
        max = int(x)
print(max)

    运行实况:
--------纯白爱学习--------
请您输入一个元组,小纯白将负责给你找出最大值哦:12,456,789,3,42,45
789

C:\Bin>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-17 06:42:18 | 显示全部楼层
年轮荡漾 发表于 2019-7-7 09:02
n-1,缩进和上面的if对齐。

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-22 18:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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