鱼C论坛

 找回密码
 立即注册
查看: 3141|回复: 1

isFind Ture False什么意思怎么用

[复制链接]
发表于 2022-11-3 22:22:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import random
nums = []
for i in range(10000):
    x = random.randint(1 , 65535)
    nums.append(x)
target = int(input("请录入目标整数:"))

isFind = False
n = len(nums)
for i in range(n):
    for j in range(i+1,n):
        if nums[i] + nums[j] == target:
            print([i,j])
            isFind = True
        
if isFind == False:
    print("找不到!")

这段代码在什么时间打印 “找不到”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-3 22:36:04 | 显示全部楼层
本帖最后由 jackz007 于 2022-11-3 22:51 编辑

        因为要通过循环寻找目标数,那么,循环完成后,如何知道是否已经找到呢,那就是需要设置一个标志性的变量,来指示寻找结果,isFind 就是这个标志变量。
import random
nums = []
for i in range(10000):                    # 这个循环为列表 num 产生 10000 个值在 1 ~ 65535 之间的随机数元素
    x = random . randint(1 , 65535)
    nums . append(x)
target = int(input("请录入目标整数:"))   # 输入一个需要查找的目标数

isFind = False                            # isFine 标志变量先初始化为 False
n = len(nums)                             # n = nums 中的元素数量 = 10000
for i in range(n - 1):                    # 外层循环循环 9999 次,这里【有错】,已经纠正
    for j in range(i + 1 , n):            # 内层循环 n - i - 1 次。
        if nums[i] + nums[j] == target:   # 如果 num[i] + num[j] 的值恰好是 target
            print([i,j])                  # 那就打印这个下标组合
            isFind = True                 # 改变 isFind 的值为 True,表示已经找到 
        
if isFind == False:                       # isFind 依然维持原值 False,那么,肯定就是没有找到
    print("找不到!")                     # 显示输出信息
        运行实况:
D:\[00.Exerciese.2022]\Python>python x.py
请录入目标整数:235
[415, 8385]
[2058, 2388]
[2058, 6834]
[2411, 5101]
[2651, 8385]
[5313, 8150]
[6265, 7762]

D:\[00.Exerciese.2022]\Python>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-25 19:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表