将数字分为3部分

时间:2018-11-06 12:26:15

标签: python python-2.7

如果有数字,我想将该数字分为3部分。 例如:num = 4563289 这些必须分成45 63 289

我只是数数。

count = 0
num = int(raw_input("enter the number :"))
while (num > 0):
num = num//10
count = count + 1
print ("Total number of digits:", count)
if count % 2 == 0:
print('even')
else:
print('Odd')

使用此代码来识别它是奇数还是偶数。 基于此,我想将数字分为3部分。

3 个答案:

答案 0 :(得分:1)

制作整数字符串并找到其长度。像这样:

num = 4563289
num_str = (str(num))
a = int(len(num_str) / 3)

print('{} {} {}'.format(num_str[:a], num_str[a:2*a], num_str[2*a:]))

(结果为45 63 289

答案 1 :(得分:0)

假设您的缩进应如下所示:

count = 0
num = int(raw_input("enter the number :"))
while (num > 0):
    num = num//10
    count = count + 1
print ("Total number of digits:", count)
if count % 2 == 0:
    print('even')
else:
    print('Odd')

最后,您无法再分割数字,因为它已在while循环中修改,直到它变为0。如果运行它并让程序在最后打印num变量,则它总是显示为0。因为这就是您要告诉程序执行的操作。在我看来,修改原始变量绝不是一个好主意,尤其是因为它不容易检索。

无论如何,使用len()函数可以通过一种简便的方法来判断数字的位数是奇数还是偶数:

num = int(raw_input("enter the number :"))   

num_str = str(num)

print ("Total number of digits: " + str(len(num_str)))

if len(num_str) % 2 == 0: 
    print ("Number of digits is even")
else: 
    print ("Number of digits is odd")

将输入转换为字符串是有道理的,因为它可以轻松确定其长度,并有助于我们以后将数字切成薄片。现在进行拼接,可能不是最优雅的解决方案,但它可以工作:

if len(num_str) >= 3:  
    newnum = str(num_str[0:2] + " " + num_str[2:4] + " " + num_str[4:])

print (newnum)

答案 2 :(得分:0)

num = int(input('enter the Number you want check: ')

if num > 0 :

    for i in  range(0,num):
         if ( num % 2) == 0:
         print('its  a even number')
         break
    else:
     print('Its a odd number')
else:
  print('its even number')