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

这道题最大的需要就是能够进行两个数值的对比,同时还能让更多的数值依次进入到对比中。
《python语言程序设计》(2018版)第5章编程题 第41题第3次路过。总结一下。没有走完的路_第1张图片

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


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}")

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

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

但我发现每次第一个输入的是最大的数,就出现了少计算一个大数的情况。《python语言程序设计》(2018版)第5章编程题 第41题第3次路过。总结一下。没有走完的路_第3张图片

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

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

你可能感兴趣的:(python,开发语言)