老婆多喝烫水 发表于 2022-9-7 19:07:24

课后作业不懂的地方

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 + nums == target:
            print()
            isFind = True

if isFind == False:
    print("找不到!")



大佬可以解析一下这段代码吗?看不怎么懂

ZhKQYu 发表于 2022-9-7 20:55:05

就是看看随机生成的数,有没有两数之和等于输入的数,如果有的话,就把所有的这些数的位置打印出来,如果没有的话,就打印没有

Twilight6 发表于 2022-9-7 21:10:22


import random

# 创建随机数
nums = []
for i in range(10000):
    x = random.randint(1, 65535)
    nums.append(x)



# 输入目标值
target = int(input("请录入目标整数:"))

# 此变量为标志变量,初始化为 False 表示在 nums 列表中未找到两数和为目标值的,反之为 True 表示找到两数和为目标值的数
isFind = False

# 获取整个随机列表的长度
n = len(nums)

# 遍历整个随机数列表,开始查找两数和等于目标值的数
# 第一个 for 循环从 0 索引位置元素开始,第二个 for 循环从 1 索引位置开始(不允许自身加自身,否则可以也从 0 开始)
# 直到第二个 for 循环结束,若找到符合条件的数,那么标志变量(isFind)赋值为 True,说明此次随机数组中至少有一个被找到
# 等到 for 循环结束时,只要找到一个数,就不会执行最后的 if ,因为 isFind 参数被赋值为 True
for i in range(n):
    for j in range(i+1, n):
      if nums + nums == target:
            print()
            isFind = True

if isFind == False:
    print("找不到!")

wisone 发表于 2022-9-7 21:18:20

本帖最后由 wisone 于 2022-9-7 21:20 编辑

import random   #导入 random模块

nums = []             #定义一个空的 nums 列表

for i in range(10000):       # i 取值 从0-9999即循环10000次
    x = random.randint(1, 65535)      # 返回 一个 1-65535 之间的整数并赋值给x
    nums.append(x)            #将x添加到空列表。
#以上循环就是生成一个 10000个整数组成的nums列表

target = int(input("请录入目标整数:"))   # 输入一个目标整数

isFind = False          #设置找到标识为 假
n = len(nums)         #获得nums列表的成员个数,即10000
for i in range(n):      # i 从0 - 9999
    for j in range(i+1, n):#j 从1-9999
      if nums + nums == target:#如果nums列表中任意两个成员之和等于所输入目标整数
            print()                              #输出两个成员的下标
            isFind = True                        # 设置找到标识为 真
# 以上循环就是查找nums列表中任意两成员之和等于所输入目标整数的下标并输出
if isFind == False:      #判断找到标识 是否被重置即上述循环没有找到符合条件的下标
    print("找不到!")      #没有重置(没有符合相加等于目标输入整数的下标) 输出 “找不到!”
页: [1]
查看完整版本: 课后作业不懂的地方