廖雪峰python教程答案-廖雪峰老师Python3教程练习整理

1.定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程:ax2 + bx + c = 0的两个解

# -*- coding: utf-8 -*-

import math

def quadratic(a, b, c):

if not isinstance(a,(int,float)):

raise TypeError("bad operand type")

if b==0&a==0:

return "参数a,b不能同时为0"

if b*b-4*a*c<0:

return "该方程无解"

elif b*b-4*a*c==0:

if a==0:

x=-(b/c)

return x

elif a!=0:

x=-b/(2*a)

return x

elif b*b-4*a*c>0:

x=(-b+math.sqrt(b*b-4*a*c))/(2*a)

y=(-b-math.sqrt(b*b-4*a*c))/(2*a)

return x,y

# 测试:

print("quadratic(2, 3, 1) =", quadratic(2, 3, 1))

print("quadratic(1, 3, -4) =", quadratic(1, 3, -4))

if quadratic(2, 3, 1) != (-0.5, -1.0):

print("测试失败")

elif quadratic(1, 3, -4) != (1.0, -4.0):

print("测试失败")

else:

print("测试成功")

2.去除字符串首尾的空格

# -*- coding: utf-8 -*-

def trim(s):

while s[:1] == " ":

s = s[1:]

while s[-1:] == " ":

s = s[:-1]

return s

if trim("hello ") != "hello":

print("失败")

else:

print("成功")

<2>

# -*- coding: utf-8 -*-

def trim(s):

while len(s) > 0 and s[0] == " ":

s = s[1:]

while len(s) > 0 and s[-1] == " ":

s = s[:-1]

return s

if trim("hello ") != "hello":

print("失败")

else:

print("成功")