首页 > 解决方案 > 需要帮助理解 while 循环及其作用

问题描述

我正在学习 Python,目前我正在学习哨兵循环。我有这段需要帮助理解的代码。while 循环到底在做什么?我做了一些研究,我知道它正在循环 if 语句(如果我错了,请纠正我);但它是否循环通过一个特定的方程,直到用户停止输入他们的整数?提前谢谢你。

(请不要讨厌评论我仍在学习作为开发人员。这是我的第一篇文章谢谢)

even = 0  odd = 0

string_value = input("Please enter an int. value: ")

while string_value !="":
    int_value = int(string_value)
    if int_value % 2 == 0:
        even += 1
    else:
        odd += 1
    string_value = input("Please enter an int. value: ")

if even + odd == 0:
    print("No values were found. Try again...") else:
    print("Number of evens is: ", str(even)+".")
    print("Number of odd is: ", str(odd)+".")

---更新代码:

def main():
    print("Process a series of ints enter at console \n")

    count_even = 0
    count_odd = 0

    num_str = input("Please enter an int. value or press <Enter> to stop: ")

    #Process with loop
    while num_str !="":
        num_int = int(num_str)
        if num_int % 2 == 0:
            count_even += 1
        else:
            count_odd += 1
        num_str = input("Please enter an int. value: ")

    if count_even + count_odd == 0:
        print("No values were found. Try again...")
    else:
        print("Number of evens is: ", str(count_even)+".")
        print("Number of odd is: ", str(count_odd)+".")



main()

标签: pythonloops

解决方案


while 循环做的第一件事是检查用户输入是否为空while string_value !="",如果它不为空,它将启动循环。!=表示不等于,并且是空的"",所以不等于空。接下来,它将变量设置int_value为用户输入的整数(如果用户输入的不是整数,则会出错)。接下来它检查变量int_value% 2(除以 2 的余数)是否为 0,因此它几乎检查数字是否可被 2 整除,如果它可被 2 整除,它将向even变量添加 1。否则,它将向odd变量添加 1


推荐阅读