加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在python中操作一个整数

发布时间:2020-12-20 12:02:33 所属栏目:Python 来源:网络整理
导读:一个整数,如: number = 1873 我有一个公式:weighted_sum = 1 * 1 8 * 2 7 * 3 3 * 4 = 50.我想计算四位数的加权和,所以输出如下: 1234 weighted sum: 30 / 4321 weighted sum:20 我试图将整数转换为字符串,但不起作用. number = str(1742)weighted = numb
一个整数,如:

number = 1873

我有一个公式:weighted_sum = 1 * 1 8 * 2 7 * 3 3 * 4 = 50.我想计算四位数的加权和,所以输出如下:

1234 weighted sum: 30 / 4321 weighted sum:20

我试图将整数转换为字符串,但不起作用.

number = str(1742)
weighted = number[0]*1 + number[1]*2 + number[2]*3 + number[3]*4
print(number,"weighted sum:",weighted)

产量

1742 Weight Sum: 1774442222

解决方法

在对它们进行多次拼接之前,您需要将各个数字转换回整数:

weighted = int(number[0])*1 + int(number[1])*2 + int(number[2])*3 + int(number[3])*4

只需取数[i]就可以得到一个带有该数字的单字符串,并在Python中乘以字符串bt n意味着连接n次.

这可以使用sum()和生成器表达式简化:

weighted = sum(i * int(digit) for i,digit in enumerate(number,1))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读