关于019讲动动手的问题
本帖最后由 fc5igm 于 2021-5-30 11:42 编辑1.
-------------------------------------------------------------------------------
我的答案
nums =
target = 9
n=len(nums)
for i in range(n):
for j in range(n):
if nums + nums == target:
print('[',i,', ',j,']',sep='')
输出结果
标答
nums =
target = 9
n = len(nums)
for i in range(n):
for j in range(i+1, n):
if nums + nums == target:
print()
输出结果
为什么print()代码可以去重?这里边的逻辑是什么?
2.
-------------------------------------------------------------------------------
nums = []
isInput = True
while isInput == True:
x = input("请录入一个整数(输入STOP结束):")
if x != "STOP":
nums.append(int(x))
else:
isInput = False
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("找不到!")
请问代码第七行, nums.append函数是什么意思?
不是 print 可以去重,是你代码和答案不同
嵌套的for 循环你是从 0~n ,而甲鱼哥答案是从 i+1~n
所以你出现了重复打印,甲鱼哥的没有出现,把你代码改成这样就相同了:
nums =
target = 9
n=len(nums)
for i in range(n):
for j in range(i+1,n):
if nums + nums == target:
print('[',i,', ',j,']',sep='')
nums.append函数是什么意思?
将 x 转化整型后添加入 nums 字符串 1.
不是print去重
标答第六行 for j in range(i+1, n):
range起始位置就在i+1了,不会再出现i值了(相当于去重了)
2.
nums是列表
nums.append 函数是列表增加元素
例子:
>>> nums = []
>>> nums.append(1)
>>> nums.append()
>>> nums.append((3,))
>>> print(nums)
, (3,)]
逃兵 发表于 2021-5-30 11:47
1.
不是print去重
标答第六行 for j in range(i+1, n):
将for j in range(i+1, n): 改为for j in range(i, n): 是否会更好? 本帖最后由 逃兵 于 2021-5-30 15:02 编辑
fc5igm 发表于 2021-5-30 14:23
将for j in range(i+1, n): 改为for j in range(i, n): 是否会更好?
不好,把i作为起始位置与i本身重复了
页:
[1]