字符串易错点和高精度计算

本文讨论了Python编程中字符串操作的易错点,强调了在使用字符串时需要区分变量和字符串本身。同时,介绍了input函数返回的字符串类型,并展示了如何处理print函数的end参数。此外,文章讲解了不同类型数据间的转换问题,特别是字符串与数字之间的转换和高精度计算,通过示例解释了如何避免TypeError并进行高精度计算。
摘要由CSDN通过智能技术生成

#易错点
#一定要思考清楚,我们需要用的是字符串还是变量
#没有定义a变量就会报错
#如果需要打印变量a,就需要在上面定义一个a变量
#如果需要打印字符串类型的a,那就需要在print括号里面的a加上引号,定义成字符串
a=1
print(a)

#input接收到的都是字符串类型的,不管输入的是数字、字母还是布尔类型的,都会显示字符串
b=input('请输入一个字符')
print(b,type(b))


#print()如果什么都不会写,会有一个默认的参数end,end的默认的值是换行,如果不想进行换行的就修改end的值
#end是用于来设定以什么结尾
print('123')
print(end='***')
print('123')
#不同的数据类型是不能做计算的 除了乘法

'''
>>> '1'*2
'11'
>>> '1'+2
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    '1'+2
TypeError: must be str, not int
>>> a='1'
>>> int(a)+5    #做数学运算,我们就需要把字符串类型的转整型
6
>>> a+str(5)    #做字符串拼接,我们就需要把整形转字符串类型
'15'
>>> float('1.2')  #字符串里面是小数可以转float类型,但是不可以转int类型
1.2
>>> int('1.2')
Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    int('1.2')
ValueError: invalid literal for int() with base 10: '1.2'
>>> int(a)
1
>>> float('a')   #字符串里面是字母,既不可以转float类型也不可以转int类型
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    float('a')
ValueError: could not convert string to float: 'a'
>>> int('a')
Traceback (most recent call last):
  File "<pyshell#12>", line 1, in <module>
    int('a')
ValueError: invalid literal for int() with base 10: 'a'
>>> 
'''
#高精度计算:
#传入的一定要是字符串类型的数值
import math
import decimal
pi1=str(math.pi)
pi2=decimal.Decimal
pi=decimal.Decimal('1.11')-decimal.Decimal('1.10')
print(pi)
print(pi2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值