Syntax error when casting string to int
本问题已经有最佳答案,请猛点这里访问。
我的代码:
1 2 3 4 5 6 7 8 | def digit_sum(n): result = 0 s = str(n) for c in s: result += (int)c # invalid syntax?????????? return result print digit_sum(1234) |
结果:
1 2 3 | result += (int)c # invalid syntax?????????? ^ SyntaxError: invalid syntax |
函数应该返回参数"n"中每个数字的和。为什么我要把EDOCX1[0]放在注释行中?变量
在python中,您不会这样投射。您使用:
1 | result += int(c) |
从技术上讲,这不是强制转换:您调用
请注意,
1 2 3 4 5 | try: result += int(c) except ValueError: # ... (do something to handle the error) pass |
在Python中,使用函数
1 | result += int(c) |
1 2 3 4 5 6 7 | def digit_sum(n): numsum=[] add_up=str(n) for n in add_up[0: len(add_up)]: numsum.append(int(n)) return sum(numsum) print digit_sum(1234) |
基本上,您需要使用