在python i中,我通过str类型的数字,例如n ='6'。然后要使用for for loop
到sum_n = n + nn + nnn
到现在为止,我尝试了下面的代码,但它正在丢弃错误。
" valueerror:base 10的int((的文字无效:''"
n = '6'
sum_n = 0
for i in range(4):
n_itr = n*i
print('printing n_itr', n_itr, type(n_itr))
sum_n = int(sum_n) + int(n_itr)
print('printing sum_n ', sum_n)
我希望该过程应为sum_n =(6 66 666(,输出为738。在此方面有任何帮助,了解错误以及我缺少的地方。
只需将范围从 range(4)
更改为 range(1,4)
。
range(4)
从0开始 i
的值,其中 n_itr= n*i
评估为空字符串,最终在 int(n_intr)
上引起错误。
尝试这个单线:
sum_n = sum(map(int, [n*i for i in range(1,4)]))
输出:
738
您需要一个更改代码:
for i in range(1,4):
int()
方法将在尝试将''
转换为整数表格时产生错误。
您可以这样更改它:
n = '6'
sum_n = 0
n_itr = ''
for i in range(3):
n_itr = n_itr + n
print('printing n_itr', n_itr, type(n_itr))
sum_n = int(sum_n) + int(n_itr)
print('printing sum_n ', sum_n)
给出此输出:
('printing n_itr', '6', <type 'str'>)
('printing sum_n ', 6)
('printing n_itr', '66', <type 'str'>)
('printing sum_n ', 72)
('printing n_itr', '666', <type 'str'>)
('printing sum_n ', 738)