《python语言程序设计》(2018版)第5章编程题 第41题第3次路过。总结一下。没有走完的路

这道题最大的需要就是能够进行两个数值的对比,同时还能让更多的数值依次进入到对比中。
在这里插入图片描述

这道题的解题版本
这个版本只是能统计出谁是最大数。但是无法统计最大数出现了多少次。


number = ""
count = 0
data_number = 0
while number != 0:
    number = eval(input("Enter a number(0: for end of input): "))
    if number > data_number:
        data_number = number
        count += 1

print("The largest number is", data_number)
print("The occurrence count of the largest number is", count)

这个是在第n次做后的得出的结果。这个代码不是这次做出来的。是之前的。

number_of_input = eval(input("Enter a number (0: for end of input): "))
largest_num = number_of_input
little_num = 0
count_times = 0

if number_of_input == 0:
    print("This program don't zero")

else:
    while number_of_input != 0:
        number_of_input = eval(input("Enter a number (0: for end of input): "))

        if number_of_input > largest_num:
            largest_num = number_of_input
            count_times += 1
        elif number_of_input == largest_num:
            count_times += 1

    print(f"The largest number is {largest_num}")
    print(f"The occurrence count of the largest number is {count_times}")

结果如下请添加图片描述

我提前设置一个if。避免用户上来就输入0.

但我发现每次第一个输入的是最大的数,就出现了少计算一个大数的情况。请添加图片描述

这个代码如果在第一个数是最大数的情况下是不对的, 他会将第一个大数忽略掉。为此我钻牛角尖半个月。今天偶然才看到原来当初第一个数不是序列里最大的数。

好久没有发布文章了。努力更新吧。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电饭叔

谢谢各位兄弟们的关注,谢谢破费

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值