20181206hw
小作业3
1. 求区间[100, 200]内10个随机整型数的最大值
import random list = [] for i in range(10): list.append( random.randrange( 100 , 201 ) ) print( list ) print( max( list ) )
2. 我们将三位整型数的每一位的立方和等于数值本身的数称为水仙花数,为有多少个水仙花数(一定是三位数)
for n in range( 100 , 1000 ) : print( str(n)+"\n" \
if ( n == int( str(n)[0] ) ** 3 + int( str(n)[1] ) ** 3 + int( str(n)[2] ) ** 3 ) else '' , end='')
3. 输出有1, 2, 3, 4这四个数字组成的每位都不同的所有的三位数
l = [ 1 , 2 , 3 , 4 ] for i1 in l : temp1 = l.index( i1 ) l.remove( i1 ) for i2 in l : temp2 = l.index( i2 ) l.remove( i2 ) for i3 in l : print( i1 * 100 + i2 * 10 + i3 ) l.insert( temp2 , i2 )
4. 求列表s=[2,8,9,6,7,1,5,66]中的元素个数,最大数,最小数,平均数。末尾添加一个新元素10?删除元素5
s = [2,8,9,6,7,1,5,66] sum = 0 for i in s : sum += i print( "count={},max={},min={},ave={}"\ .format( len(s) , max(s) ,min(s) ,sum/len(s)) ) s.append( 10 ) s.remove( 5 )
6. 斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。
求斐波那契数列的前20项
l = [ 0 , 1 ] for i in range( 2 , 20 ) : l.append( l[ i - 2 ] + l[ i - 1 ] ) print( l )
小作业4
1.写一个计算可以计算一个人BMI(身体质量指数)指数程序
体质指数(BMI)=体重(kg)÷身高^2(m)
成人的BMI数值:
过轻:低于18.5
正常:18.5-23.9
过重:24-27
肥胖:28-32
非常肥胖, 高于32
height , weight = eval( input( "输入(身高m,体重kg): " ) ) BMI = weight / ( height ** 2 ) if BMI<=18.5 : print('过轻') elif BMI<=23.5 : print( '正常' ) elif BMI<=27 : print( '过重' ) elif BMI<=32 : print( '肥胖' ) else : print( '非常肥胖' )
2. 抓了a,b,c,d四名犯罪嫌疑人,其中有一人是小偷,审讯中:
•a说我不是小偷;
•b说c是小偷;
•c说小偷肯定是d;
•d说c胡说!
其中有三个人说的是实话,一个人说的是假话,请编程推断谁是小偷。
for i in range(1,5 ): print( i if (( i != 1 ) + ( i == 3 ) + ( i == 4 ) + ( i != 4 ) ) == 3 else '')
3. 随机产生10个10以内的整型数,存放到列表中,将列表中的最大值放在列表的最后
import random l = [] for i in range( 10 ) : l.append( random.randrange(10) ) l.sort() print( l )