以下是我的代码
two_digit_number = input("Type a two digit number: ")
new_two_digit_number = int(two_digit_number)
print(new_two_digit_number[0] + new_two_digit_number[1])"""
如果我在two_digit_number代码上输入27,我想打印&;9&;对答案。但是出现TypeError: 'int' object is not subscriptable
我已经知道正确的代码,但不明白为什么出现上面的错误…
错误:'int'对象不可下标- Python
new_two_digit_number
为int
。不是string
。如果您想访问单个数字,您需要转换为str
,然后将它们加在一起作为int
s:
two_digit_number = input("Type a two digit number: ")
new_two_digit_number = int(two_digit_number)
new_two_digit_number = str(two_digit_number)
print(int(new_two_digit_number[0]) + int(new_two_digit_number[1]))
或者您可以使用列表推导式在一行中完成所有操作:
def add_digits(num: str) -> int:
"""Converts a string (input), to an integer sum of all the numbers in the string"""
return sum(int(x) for x in str(int(num)))