Python随记(2)数据类型(小数,分数) 分支循环

数据类型:
  1. 整形(int) 布尔类型(bool) 浮点型(float,e记法1.5e11=1.5*10的11次方) 字符串(str)
  2. 类型的获取**type()**函数type('abc') <class 'str'> **isinstance()**函数isinstance('abc',str) >>True
    扩展:
    s 为字符串
    s.isalnum() 所有字符都是数字或者字母,为真返回 True,否则返回 False。
    s.isalpha() 所有字符都是字母,为真返回 True,否则返回 False。
    s.isdigit() 所有字符都是数字,为真返回 True,否则返回 False。
    s.islower() 所有字符都是小写,为真返回 True,否则返回 False。
    s.isupper() 所有字符都是大写,为真返回 True,否则返回 False。
    s.istitle() 所有单词都是首字母大写,为真返回 True,否则返回 False。
    s.isspace() 所有字符都是空白字符,为真返回 True,否则返回 False
  3. 常用操作符:x%y 求x除以y的余数; x//y 地板除取小的整数(3//2==1); abs(x)绝对值; dirmod(x,y)=(x//y,x%y); pow(x,y)x的y次方; complex(re,im)复数(实部,虚部);
    a=a+1 可化简为 a += 1 c = c*5 c *=5
  4. 优先级:幂运算 >:正负号>算术操作符>比较操作符>逻辑运算符(not>and>or)
    not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9 ==4 ;(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)=0 or 0 or 4 or 6 or 9= 4

爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。>

i=1
while(True):
	if (i%2==1) and (i%3==2) and (i%5==4) and (i%7==0) and (i%6==5):
		print(i)
		break
	else:
		i += 1
四舍五入 平方根的计算
math.floor(2.567),math.floor(-2.567) >>>(2,-3)
math.trunc(2.567),math.trunc(-2.567) >>>(2,-2) #丢弃小数
round(2.567),round(2.467),round(2.567,2) >>>(3,2,2.57)
#四舍五入

math.sqrt(144) >>12.0
144 ** .5 >>>12.0
pow(155,5)
小数类型

精度固定的浮点数。使用小数对象我们可以得到一个只保留两位小数为精度的浮点数。这对表达固定精度的特性(货币的累加)以及对精度是实现都是一个理想的工具。

from decimal import Decimal
Decimal('0.1') + Decimal('0.1') - Decimal('0.2')>>> Decimal('0.0')  # 不同精度,默认改变层最小的

设置全局小数精度:decimal模块中的其他一些工具可以用来设置所有小数数值精度,安排错误处理等。

>>>import decimal
>>>decimal.Decimal(1/ decimal.Decimal(7)
Decimal('0.1428571428571428571428571429>>>decimal getcontext().prec =4  # 设置精度
>>>decimal Decimal(1/ decimal Decimal(7)
Decimal(0.1429
分数基础知识

Fraction(分数)与小数一样,他是用来处理浮点数类型的数值不准确性。他的使用也是导入

from fractions import Fraction
x=Fracion(1,3)   >>>1/3
y=Fraction(2,3)
x + y  >>>Fractiong(1,1)
# 使用点字符串来创建
Fraction('.25')   >>> Fraction(1,4)
分支和循环
  1. python能有效避免else与if不能正确匹配的问题,毕竟是靠的缩进(深受C语言的苦啊)
  2. 条件表达式(三元操作符):a = x if 条件 else y比较x,y,z的大小small = x if (x<y and x<z) else y if y<z else z
  3. 断言(assert) 当后面的条件为假时,程序自动崩溃返回AssertionError的异常。用于程序测试,让错误出现
  4. while循环语句:while 条件:\n 循环体
  5. for循环:for 变量 in 可迭代对象 : 循环体 in成员资格运算符,当对象在里面时返回True
  6. range()函数生成一个数字序列 range(start,stop,step) range(10)生成0-9十个可迭代数字。
  7. break语句 跳出循环,continue 终止本轮循环,重新测试循环条件开始下一轮。
  8. else语句:while条件: 循环体 else: 条件不成立时执行的内容 ; for 变量 in 迭代对象: 循环体 else: 条件不成立时执行的内容
  9. 简单的输入密码的小代码,详见小甲鱼的书吧。。。。。。
times = 3
password = '123456'
while times:
    user = input('请输入密码:')
    if '*' in user:
        times -= 1
        print('不能有*号,您还有',times,'次机会')
        continue
    else:
        if user == password:
            print('密码正确。。。')
            break
        else:
            times -=1
            print('密码错误,你还有',times,'次机会')
            continue
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,可以使用数学库中的函数来计算勾股定理。比如,可以使用math模块中的sqrt函数来计算平方根。以下是一个使用勾股定理计算直角三角形斜边长度的示例代码: ``` from math import * a = float(input("请输入斜边1的长度:")) b = float(input("请输入斜边2的长度:")) c = sqrt(a*a + b*b) print("斜边长为:", c) ``` 在这个例子中,用户需要输入直角三角形的两个直角边的长度,然后通过勾股定理计算出斜边的长度,并将结果输出。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python 基础](https://blog.csdn.net/weixin_34268310/article/details/85888761)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [python入门学习随(二)(勾股定理、球体积、利率、移位和进制转换、数字求和)](https://blog.csdn.net/small_red_cap/article/details/102773406)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值