十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
将一个数字拆分成多个数字之和Python可以理解为一个整数的分箱问题。
成都创新互联专业为企业提供拜泉网站建设、拜泉做网站、拜泉网站设计、拜泉网站制作等企业网站建设、网页设计与制作、拜泉企业网站模板建站服务,十年拜泉做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
所以我们定义一个长度为四的数组,每个数组最大能取到4,所以想到5进制,开始循环遍历,四个元素之和等于4即满足条件。
所以在写程序的时候把满足相加等于4的元素,把含有0的全部弹出来,之后再出重就得到答案了。
你可以将数字转换为字符串,然后遍历字符串并将每个字符转换为整数:
[int(char) for char in str(634)][6, 3, 4]
使用map():
map(int, str(634)) # Python 2[6, 3, 4] list(map(int, str(634))) # Python 3[6, 3, 4]
# 这是一个长一点的,简单的,还做了一点重复的
a = input('请输入一串数字,是一串子:')
b = []
for n in range(len(a)):
if n % 4 == 0:
b.append(a[n:n + 4]) # 将a字符串每4个字符分割成列表添加到b列表中
print('输入的内容转化为的列表', b)
c = ','.join(b) # 以逗号作为分隔符,将 b中所有的元素合并为一个新的字符串
print('输入的内容每四个以逗号分开', c)
d = c.split(',')
print("把字符串转化成列表,终于用到了split", d)
for i in range(len(b)):
print('分开后第%s个是%s' % (i+1, d[i]))
对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果nk,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
程序源代码:
实例(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
def reduceNum(n):
print '{} = '.format(n),
if not isinstance(n, int) or n = 0 :
print '请输入一个正确的数字 !'
exit(0)
elif n in [1] :
print '{}'.format(n)
while n not in [1] : # 循环保证递归
for index in xrange(2, n + 1) :
if n % index == 0:
n /= index # n 等于 n/index
if n == 1:
print index
else : # index 一定是素数
print '{} *'.format(index),
break
reduceNum(90)
reduceNum(100)
以上实例输出结果为:
90 = 2 * 3 * 3 * 5100 = 2 * 2 * 5 * 5
a = "123456789"
b = [a[i:i + 3] for i in range(0, len(a), 3)]
c=','.join(b)
print(c)
最后输出为str类型的格式
123,456,789
而不是
[123,456,789]