例十三:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
for i in range ( 100 , 1000 ) :
m = int ( i/ 100 )
n = int ( i% 100 / 10 )
l = i% 10
if ( m** 3 + n** 3 + l** 3 == i) :
print ( i, '是一个水仙数' )
例十四:将一个正整数分解质因数。例如:输入90,打印出90=2×3×3×5。
def fun ( n) :
arr = [ ]
if ( int ( n) != n or n< 0 ) :
return '输入错误!'
elif ( n== 2 ) :
return '2 = 1 * 2'
else :
tmp= n
i= 2
while ( i>= 2 and i<= tmp) :
if ( tmp% i== 0 ) :
arr. append( i)
tmp= tmp/ i
i= 2
else :
i+= 1
if ( i== tmp+ 1 ) :
break
print_x = str ( n) + ' = '
for i in range ( 0 , len ( arr) ) :
if ( i== len ( arr) - 1 ) :
print_x= print_x+ str ( arr[ i] )
else :
print_x= print_x+ str ( arr[ i] ) + '*'
return print_x
例十六:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
x = int ( input ( '平输入学习成绩:' ) )
if ( x>= 90 ) :
print ( '学习成绩是%d,属于A' % x)
elif ( x>= 60 ) :
print ( '学习成绩是%d,属于B' % x)
else :
print ( '学习成绩是%d,属于C' % x)
例十七:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
y = input ( '请输入字符串:' )
alphas = 0
space = 0
digit = 0
others = 0
for i in range ( 0 , len ( y) ) :
if ( y[ i] . isalpha( ) ) :
alphas+= 1
elif ( y[ i] . isspace( ) ) :
space+= 1
elif ( y[ i] . isdigit( ) ) :
digit+= 1
else :
others+= 1
print ( '字符串%s中,英文字母有%d个,空格有%d个,数字有%d个,其他字符有%d个' % ( y, alphas, space, digit, others) )
例十八:求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。
num = int ( input ( '请输入有多少个数字相加:' ) )
a = int ( input ( '请输入数字:' ) )
arr = [ ]
s = 0
sum_num = 0
print_s = ''
for i in range ( 0 , num) :
s = s + a* 10 ** i
sum_num = s+ sum_num
arr. append( s)
for i in range ( 0 , len ( arr) ) :
if ( i== num- 1 ) :
print_s = print_s + str ( arr[ i] ) + '=' + str ( sum_num)
else :
print_s = print_s + str ( arr[ i] ) + '+'
print ( print_s)