检测输入的是几位数

检测输入的是几位数,并求每一位数字的和和积。


# -*- coding: utf-8 -*-
# 作者:涓涓细流
# 日期:20151125
# 环境:pycharm5-community python-2.7.10-32 windows7-64
# 教程:《父与子的编程之旅》
# 列表的创建,列表插入元素:remainder_list.insert(索引, 值),join()用法,format(用法)
# 输入数字,检测这是几位数,求每一位数字的和与积

some_number = raw_input("随便输入一个多位数:")

if not some_number.isdigit():  # 此if...else用来限制只能输入数字
    while True:
        some_number = raw_input("数字,数字,数字。重要事情说三遍:")
        if some_number.isdigit():
            some_number = int(some_number)
            break
else:
    some_number = int(some_number)

print "输入的多位数是:%d" % some_number

remainder_list = []  # 存储余数的列表
figures_number = len(str(some_number))  # 这是几位数
sum_remainder = 0  # 对余数求和
product_remainder = 1  # 求余数的积
for i in range(figures_number):
    remainder = some_number % 10
    sum_remainder += remainder
    product_remainder *= remainder
    some_number /= 10
    remainder_list.insert(0, str(remainder))  # 列表插入元素的方法,此处转字符给join用

print "这个%d位数的" % figures_number + "每一位数分别是:" + ",".join(remainder_list)  # join括号里面的*序列*需要是字符串
print "这个%d位数的和是:" % figures_number + "+".join(remainder_list) + "=%d" % sum_remainder
print "这个%d位数的积是:" % figures_number + "×".join(remainder_list) + "=%d" % product_remainder
print '这个{0:d}位数的积是:{1:s}={2:d}(format方法)'.format(figures_number, "×".join(remainder_list), product_remainder)


检测输入的是几位数_第1张图片

你可能感兴趣的:(Python,三位数,几位数,python,练习,循环)