为了账号安全,请及时绑定邮箱和手机立即绑定

我的作业有问题。这是关于停止循环

我的作业有问题。这是关于停止循环

呼唤远方 2022-05-24 16:57:28
我正在做作业。而且我不知道如何做这个解决方案。我曾尝试在 for 语句下使用 break,但没有任何回报。问题是“完成以下程序,以便循环在找到大于 1000 且可被 33 和 273 整除的最小正整数时停止。”这是我尝试过的代码n = 1001 #This one is requiredwhile True: #This one too    for i in range(n,___): # I don't know what should i put in the blank          if i%33 == 0 and i%273 == 0: # I really confused about this line              break # Should i break it now?, or in the other lines?print(f"The value of n is {n}") #This one is also required我不知道我应该在哪些行中放置中断(或者我不必使用它?)或者我应该创建一个调用列表最小数量的函数?我很抱歉我的语言以及我的编程技能有多愚蠢,我会接受每一条评论。谢谢
查看完整描述

3 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

您已经有一个while True:循环,您不需要内部for循环来搜索您的号码,只需n在while循环中不断增加而不是添加新的计数器,当找到您要查找的号码时,无限while True:循环将停止( using break),因此您的打印语句将被执行:


n = 1001  #  start at 1001


while True:  #  start infinite loop

    if n % 33 == 0 and n % 273 == 0:  #  if `n` found

        break  #  exit the loop

    n += 1  #  else, increment `n` and repeat


print(f"The value of n is {n}")  #  done, print the result

输出:


The value of n is 3003


查看完整回答
反对 回复 2022-05-24
?
DIEA

TA贡献1820条经验 获得超2个赞

谢谢你说这是家庭作业!比起仅仅给出答案,更详细地解释事情会更好。


有几点需要解释:


1) n%33 是 n 除以 33 的余数。所以 66%33 为 0,67%33 为 1。


2) For 循环通常是当您需要在定义的范围内循环时(并非总是如此,但通常如此)。例如“将前 100 个整数相加”。while 循环在这里更有意义。它肯定会终止,因为在某些时候你会达到 33 * 237。


3) if i%33 == 0 and i%237 == 0: 表示当数字可以被 37 和 237 均分(无余数)时,我们想做一些事情。


n=1001

while True:

    if n%33==0 and n%237==0:

        print(n)

        break

    n+=1


查看完整回答
反对 回复 2022-05-24
?
交互式爱情

TA贡献1712条经验 获得超3个赞

好吧,您仍然可以使用for循环,只要上限至少与最大可能结果一样高。结果将在 中i,而不是在 n 中,for循环就足够了,而不是额外的while循环。当for除以 33 和 237 时的余数为零(即它们都是因数)时,循环将中断。


n = 1001 #This one is required


for i in range(n, 33 * 237 + 1): # I don't know what should i put in the blank

    if i % 33 == 0 and i % 237 == 0: # I really confused about this line

        break #

print(f"The value of i is {i}") #This one is also required

您还可以使用 while 循环并对条件使用相同的逻辑。在这种情况下,我们测试至少有一个不是因素并继续循环,直到 33 和 237 都可以整除 i。


n = 1001 #This one is required


i = n

while i % 33 or i % 237:

    i += 1

print(f"The value of i is {i}") 


查看完整回答
反对 回复 2022-05-24
  • 3 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信