Python中带有numpy的数组



我知道我们有列表而不是Python中的数组。但我使用的是numpy导入。

我创建了一个基于瑞典社会保障号码的性别检查功能。

基于10个数字,如果第八个数字是偶数,则为女性,否则为男性。

当我运行该功能时,我得到的错误为:

ssnCheckGender中的第11行如果ssn[8]%2==0:TypeError:"int"对象不是可下标的

这是我的代码,示例输入为9202205078,应该是男性:

import numpy as np
def ssnCheckGender():
ssn = np.array([])
ssn = int(input("Input SSN, 10 digits: "))
if ssn[8] % 2 == 0:
print(f"The {ssn} is a female")
else:
print(f"The {ssn} is a male")

ssnCheckGender()

我错过了什么?

不要将输入作为int,而是作为带有字符串的string,您可以很容易地获得位置值。一旦获得位置值,即ssn[7],然后转换为int.

请注意,索引从0开始,因此第8个元素的索引将为7。

def ssnCheckGender():
ssn = str(input("Input SSN, 10 digits: "))
if int(ssn[7]) % 2 == 0:
print(f"The {ssn} is a female")
else:
print(f"The {ssn} is a male")

ssnCheckGender()

输出:例如:9202205078

Input SSN, 10 digits: 9202205078
The 9202205078 is a female

最新更新