首页 > 编程语言 >python教程6--自定义函数,数据类型转换,解方程

python教程6--自定义函数,数据类型转换,解方程

时间:2023-01-14 21:35:28浏览次数:47  
标签:类型转换 return 函数 自定义 python else print my math


本文主要讲解点如下:

  • 简单函数
  • 数据类型转换
  • 空函数
  • 自定义绝对值函数
  • 自定义函数 检查参数类型
  • 函数返回多个值
  • 求解ax2 + bx + c = 0 的根

具体代码如下:

'函数相关'

__author__ = 'momo'

import sys
import math

# 简单函数
print(abs(-12))
print(max(1,4,34,-23))
print(min(1,-3,-3,45,0))
print('----------------------')
print('----------------------')
print('----------------------')
# 数据类型转换
print(int('123'))
print(int(2.5435))
print(str(24))
print(str(34.33))
print('---------下面三个都是true-------------')
print(bool(1))
print(bool(-1))
print(bool('ss'))
print('----------下面三个都是false------------')
print(bool(0))
print(bool(''))
print(bool(None))
print('----------自定义函数------------')
# 空函数
def my_a(a):
if a < 5:
print('a<5')
else:
pass


my_a(21)


# 自定义绝对值函数
def my_abs(x):
if x >= 0:
print('是正数:', x)
else:
print('是负数', -x)


my_abs(-1)
# my_abs('12') TypeError: '>=' not supported between instances of 'str' and 'int'


print('----------自定义函数 检查参数类型------------')
def my_abs2(z):
if not isinstance(z,(int,float)):
raise TypeError("错误的数据类型")
if z <= 0:
return -z
else:
return z
print(my_abs2(-13))
# print(my_abs2("fs")) TypeError: 错误的数据类型


print('----------函数返回多个值------------')
# 一个函数返回多个值,实质上是返回了一个tuple,在语法上,返回一个tuple可以省略括号,多个变量可以同时接收一个tuple,按照位置顺序对应赋值
def move(x,y,step,angle=0):
nx = x + step*math.cos(angle)
ny = y - step*math.sin(angle)
return nx,ny

a = move(100,100,60,math.pi/6)
print(a) # (151.96152422706632, 70.0)
x,y = move(100,100,60,math.pi/6)
print(x,y) # 151.96152422706632 70.0

# eg:返回list的长度
def testlist(a):
if not isinstance(a,list):
raise TypeError("参数类型错误")
if len(a) < 3:
return 'list太短了',len(a)
else:
return 'list太长了',len(a)

lista = [1,3,'aa','b']
mes,count = testlist(lista)
print(mes,count) # list太长了 4
print('--------------------')

# eg:定义函数,返回方程 ax2 + bx + c = 0 的根

print('----------求解ax2 + bx + c = 0 的根------------')

def my_quadratic(a,b,c):
if not isinstance(a,(int,float)):
raise TypeError('a is not a number,please try again')
if not isinstance(b,(int,float)):
raise TypeError('b is not a number,please try again')
if not isinstance(c,(int,float)):
raise TypeError('b is not a number,please try again')
d = b*b - 4*a*c
if d < 0:
return 'b*b-4*a*c= ',d,'<0,方程无解'
else:
if a == 0:
if b == 0:
if c == 0:
return '方程解为全体实数'
else:
return '方程无解'
else:
x1 = -c/b
x2 = x1
return x1,x2
else:
x1 = (-b + math.sqrt(d))/(2*a)
x2 = (-b - math.sqrt(d))/(2*a)
return x1,x2

print(my_quadratic(2,3,1)) # (-0.5, -1.0)
print(my_quadratic(1,3,-4)) # (1.0, -4.0)
print(my_quadratic(2,2,5)) # ('b*b-4*a*c= ', -36, '<0,方程无解')


标签:类型转换,return,函数,自定义,python,else,print,my,math
From: https://blog.51cto.com/u_15936016/6007806

相关文章

  • python模块之beautifulsoup —— html文件解析以及提取
    python模块之beautifulsoup——html文件解析以及提取beautifulsoup简称bs4,能够帮助我们处理html等超标记文本的标签,提取其中的文字,常用于爬虫领域等。bs4及相关模块......
  • python 汉字转拼音 实例
    python汉字转拼音首先是安装第三方库:$pipinstallpinyin使用的话:>>>importpinyin>>>printpinyin.get('你好')nǐhǎo>>>printpinyin.get('你好',format="strip......
  • 自定义用户登录验证
    1.自定义用户登录验证把自带的登录逻辑改写以及界面的改写1.1UserDetailServiceImpl@ServicepublicclassUserDetailServiceImplimplementsUserDetailsService{......
  • arcgis api for 自定义zoom
    1.需求自定义UI,实现对地图的zoom操作,在view缩放的时候,带动画效果2.分析问题UI视图一般情况,可能大部分初学者会使用以下代码对zoom进行操作,这个方法是可以放大缩小,但是......
  • iisexpress 绑定自定义域名
    1、项目根目录找到    2、添加绑定域名  3、host映射  4、以管理员身份运行vs,以管理员身份运行vs,以管理员身份运行vs,重要的事情说三遍。。。不然域名无......
  • python批量发邮箱
    1.首先登录邮箱中开启服务2.获取到授权码后复制下来,放入如下含授权码的引号中: 1smtp_obj.login("**********@qq.com","授权码")#发送者的邮箱以及授权码(登陆邮箱......
  • Python之字典添加元素
    本文使用代码book_dict={"price":500,"bookName":"Python设计","weight":"250g"} 第一种方式:使用[]book_dict["owner"]="tyson" 说明:中括......
  • 如何用Python参加算法竞赛
    如何用Python参加算法竞赛前言本文适合有一定c++基础且初步了解Python,并想开发自己第二竞赛用语言的人群阅读。本文仅介绍Python3,更低版本Python请自行了解。Python的......
  • 【Python基础学习】2.基本图形绘制
    主要参考来源:慕课嵩天老师的“Python语言程序设计”[https://www.icourse163.org/course/BIT-268001?tid=1468130447]2.1深入理解Python语言计算机技术的演进:1946-19......
  • [oeasy]python0048_取整_int_float_浮点型_cast_扮演_tab_制表键_制表符
    转化为10进制回忆上次内容上次把其他进制转化回​​十进制​用的是int函数int来自于integer同源词还有integrateentire意思都是​​完整​​的​完整​​的和​......