python的练习题(基础知识篇)

基础知识练习:

#① 学生成绩去年 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    

猜你喜欢

转载自www.cnblogs.com/ww-xiaowei/p/9590796.html
今日推荐