python - 使用 while 循环遍历整数范围
问题描述
如何重写第一个代码以使用while
循环而不是给定的for
循环?两个程序的输出应该是一样的。
num = 500
for j in range(30, 100):
if j > 70:
num = num – 5
else:
num = num + 2
print(num)
print("program output is", num)
我已经尝试过了,但它不能正常工作:
num = 500
while j > 30 and j < 100:
if j > 70:
num = num – 5
else:
num = num + 2
print(num)
解决方案
循环会在每次迭代中for
自动更新循环变量 ( )。j
但是,在while
循环中,您必须自己为变量分配一个新值,否则循环将永远不会结束。
像一个for
循环
for j in range(a, b):
# do something ...
相当于这个while
循环:
j = a
while j < b:
# do something ...
j += 1
(注意j += 1
与 相同j = j + 1
。)
在您的情况下,您需要编写:
num = 500
j = 30
while j < 100:
if j > 70:
num = num – 5
else:
num = num + 2
print(num)
j += 1
print("program output is", num)
推荐阅读
- javascript - 在 Node / VS Code 中添加变量类型声明和自动完成
- android - 如何使用 Android Studio、Vuforia 和 OpenGL 绘制简单的 3D 模型
- javascript - 一次录制一个音频并停止保存在 ReactJS 中
- python - Scrapy 通过代理更改/更新公共 IP
- codeigniter - 我在我的 codeigniter 应用程序中创建了一个子目录,但它显示 404
- codenameone - 处理代号一中的网络线程异常
- php - PHP中的双问号(??)运算符是什么意思
- db2 - “找不到页面大小至少为“4096”的表空间,授权标识“DB2INST1”被授权使用。” DB2 中的错误
- scala.js - scalajs 二极管中的异步计算
- python - Python - 使用列表中的某个位置作为触发其他内容的条件