我刚刚开始学习Python,但我一直受不了。
基本上,我想找出奇数索引号中的加号。
这是我的代码。
def odd_ones(lst):
total = []
for i in lst:
if i % 2 == 1:
total.append(i)
return total
print(odd_ones([1,2,3,4,5,6,7,8]))
输出为
[1, 3, 5, 7]
而不是[2, 4, 6, 8]
有人可以帮我吗?
答案 0 :(得分:1)
输出正确。您遍历值列表,而不是其索引。条件i % 2 == 1
给出以下内容:
1 % 2 = 1 (true)
2 % 2 = 0 (false)
3 % 2 = 1 (true)
4 % 2 = 0 (false)
5 % 2 = 1 (true)
6 % 2 = 0 (false)
7 % 2 = 1 (true)
8 % 2 = 0 (false)
所以输出为(1,3,5,7)
答案 1 :(得分:1)
您想找到奇数inedx,但是您真正要做的是找到奇数元素
for i in lst: #(i ---->the element in lst)
if i % 2 == 1:
所以您应该尝试
for i in range(len(lst)): #( i ---> the index of lst)
if i % 2 == 1:
答案 2 :(得分:1)
根据需要Uncaught Error: Unexpected value 'undefined' imported by the module 'AppModule'
at syntaxError (compiler.js:2430)
at compiler.js:18651
at Array.forEach (<anonymous>)
at CompileMetadataResolver.push../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver.getNgModuleMetadata (compiler.js:18620)
at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._loadModules (compiler.js:26029)
at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndComponents (compiler.js:26010)
at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler.compileModuleAsync (compiler.js:25970)
at CompilerImpl.push../node_modules/@angular/platform-browser-dynamic/fesm5/platform-browser-dynamic.js.CompilerImpl.compileModuleAsync (platform-browser-dynamic.js:143)
at compileNgModuleFactory__PRE_R3__ (core.js:17618)
at PlatformRef.push../node_modules/@angular/core/fesm5/core.js.PlatformRef.bootstrapModule (core.js:17801)
,odd index number
提供计数器/索引
enumerate
答案 3 :(得分:1)
如果您不想将奇数放入数组中,则需要更改条件,因此代码最像这样:
def odd_ones(lst):
total = []
for i in lst:
if i % 2 == 0:
total.append(i)
return total
print(odd_ones([1,2,3,4,5,6,7,8]))
输出:[2、4、6、8]