为什么无法得到最后结果
第019讲:列表(I)课后习题动动手第1题
我的代码如下:
nums=[]
while True:
A=input("请录入一个这整数(输入STOP结束):")
nums.append(A)
if A=="STOP":
break
target=int(input("请录入目标整数:"))
n=len(nums)
for i in range(n):
for j in range(i+1,n):
if num+num==target:
print()
结果是:请录入一个这整数(输入STOP结束):22
请录入一个这整数(输入STOP结束):33
请录入一个这整数(输入STOP结束):45
请录入一个这整数(输入STOP结束):18
请录入一个这整数(输入STOP结束):62
请录入一个这整数(输入STOP结束):88
请录入一个这整数(输入STOP结束):93
请录入一个这整数(输入STOP结束):72
请录入一个这整数(输入STOP结束):67
请录入一个这整数(输入STOP结束):19
请录入一个这整数(输入STOP结束):STOP
请录入目标整数:100
为什么不能打印出?? 本帖最后由 Stubborn 于 2021-2-23 00:15 编辑
nums:List
你添加的时候转int吗?
def hash(numbers, target):
dct = {}
for idx, val in enumerate(numbers):
if val in dct:
return + 1, idx + 1]
dct = idx 代码倒数第二行 num 和 num 与刚开始定义的列表变量名 nums 不一样
input() 接收的值是字符串格式的,你可以在if nums+nums==target: 这行代码之前加上 print(nums+nums) 就会发现打印的值是两个数字拼接的
你可以把 nums.append(A) 这句 改为:
if A.isdigit():
nums.append(int(A))
在添加进列表之前判断一下是否为数字,并且转为整数
页:
[1]