python - 需要帮助理解 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()
解决方案
while 循环做的第一件事是检查用户输入是否为空while string_value !=""
,如果它不为空,它将启动循环。!=
表示不等于,并且是空的""
,所以不等于空。接下来,它将变量设置int_value
为用户输入的整数(如果用户输入的不是整数,则会出错)。接下来它检查变量int_value
% 2(除以 2 的余数)是否为 0,因此它几乎检查数字是否可被 2 整除,如果它可被 2 整除,它将向even
变量添加 1。否则,它将向odd
变量添加 1
推荐阅读
- sql - 我如何按所有人的顺序加入表格
- vb.net - 我如何(或应该)在 VB.net 中固定一个字节数组,以使 GC 不进行复制?
- c++ - 使用 ffmpeg 编码音频数据
- python - 图像旋转
- php - 预订系统:根据客人数量查找房间组合 - PHP
- r - CSV 文件 - RStudio 无法识别列 [pcr package used] 中的值
- python - 排除特定大小的文件
- python - 向包含父节点符号的数据框添加列
- python - Keras Reshape 是否通过多个 reshape 层来回维护数据结构和顺序?
- java - 有哪些有效方法可以在井字游戏中为 AI 实现“难度”级别?