关于 《零基础入门学习python第二版》第19讲练一练的问题
课后作业有一题让生成一个随机列表,然后找到其中两个数值的和等于目标数值的问题我写的代码每次都无法找到两个数值的和等于目标数值,但是答案的代码每次都能找到好多
烦请大家帮看看是什么原因
#我写的
import random
nums = []
for i in range(0,10000):
nums =
a = input("type your target number")
for www in range (0, len(nums)):
for j in range(1, len(nums)-www):
c = nums + nums
#print(c)
if c == a:
print(nums, "+", nums, "=", a)
break
if c == a:
break
else:
print("no such number")
#答案
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("找不到!")
主要问题a是字符串,不可能和一个整数相等。
另外两个for循环的range范围要像答案那样写。
页:
[1]