基础知识练习:
#① 学生成绩去年 72分,今年 85分,相比去年,成绩提高了多少 >>> s1 = 72 >>> s2 = 85 >>> r = (s2-s1)/s1*100 >>> print('%2.1f %%' % r) #中间不需要逗号 print('%2.1f %%', % r) 18.10% #② 循环的使用 #一种是for...in循环,依次把list或tuple中的每个元素迭代出来 #另一种是while循环,条件不满足时退出循环 >>> L = ['Bart', 'Lisa', 'Adam'] >>> temp='' >>> while temp in L : #此处 temp in L,被视为条件判断为FALSE了,所以不执行循环。 ... print(temp) #③ 请定义一个函数quadratic(a, b, c),接收3个参数,求一元二次方程:ax2 + bx + c = 0的两个解。 #提示:计算平方根可以调用math.sqrt()函数: import math def quadratic(a, b, c): if a==0: print('无效输入,a不能=0') return None delt=b*b-4*a*c if delt<0: print('无实数解') return None temp=math.sqrt(delt) x1=(-b+temp)/(2*a) #必须要加括号,2a需要先计算出来,再参与除法 x2=(-b-temp)/(2*a) return x1,x2 print('quadratic(2, 3, 1) =', quadratic(2, 3, 1)) #④ 定义可变参数: #方法1:用列表或元组作为参数 def calc(numbers): sum = 0 for n in numbers: sum = sum + n * n return sum #但是调用的时候,需要先组装出一个list或tuple: >>> calc([1, 2, 3]) 14 >>> calc((1, 3, 5, 7)) 84 #方法2:在参数前面加了一个*号,传入的参数,在函数内部,视为一个tuple def calc(*numbers): sum = 0 for n in numbers: sum = sum + n * n return sum #调用函数的方式可以简化成这样 >>> calc(1, 2, 3) 14 >>> calc(1, 3, 5, 7) 84 #------------------------------- #练习以下函数允许计算两个数的乘积,请稍加改造,变成可接收一个或多个数并计算乘积: def product(*num): tsum=1 for temp in num: tsum=tsum*temp return tsum