例子:华氏/摄氏温度转换
#TempConvert.py
TempStr = input("请输入带符号的温度值:")
if TempStr[-1] in ['F', 'f']:
C = (eval(TempStr[0:-1]) - 32)/1.8
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C', 'c']:
F = 1.8*eval(TempStr[0:-1]) + 32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")
- 以#开头,其后内容为注释
- 通过
input()
输入的数据类型为string,如需要数值型,要用eval()
转换成数值型 eval(<字符串或字符串变量>)
:去掉参数最外侧引号并执行余下语句的函数,eval("1+2")
,输出为3
;eval(''"1+2"'')
,输出为1+2
- line3的操作是对字符串切片(可以理解为数组),第一个位置为0,第二个参数为切片的长度,-1表示从右边数第二个
[]
表示列表,采用逗号(,
)分隔各元素;保留字in
判断一个元素是否在列表中
数据类型
- 整数、浮点数、字符串、列表
整数类型
可正可负,没有取值范围限制,有4种进制表示形式:
- 十进制:100,-25
- 二进制:0b010, -0B101(以0b或0B开头)
- 八进制:0o123, -0O456(以0o或0O开头)
- 十六进制:0x9a, -0X89(以0x或0X开头)
浮点数
- 浮点数取值范围和小数精度都存在限制,但常规计算可忽略
- 取值范围数量级约$ -10^{307} $至$ 10^{308} $,精度数量级$ 10^{-16} $
- 浮点数间运算存在不确定尾数,不是bug
数值运算符
数值运算函数
表头 | 表头 |
---|---|
abs(x) | 表绝对值格 |
divmod(x) | 商余 |
pow(x,y[,z]) | 求x的y幂次,z表示对z取余 |
int(x) | 整数 |
float(x) | 浮点数 |
complex(x) | 复数 |
字符串处理
字符串表示
- 可由一对单引号或双引号表示
- '''可注释代码段
- 索引str[n]
- 切片str[M:N:kK],M缺省表示至开头,N缺省表示至结尾,K为步长,缺省为1。步长为-1表示逆序操作
字符串的序号
- 正向递增序号:从左向右序号为0,1,2,...
- 反向递减序号:从右向左序号为-1,-2,-3,...
字符串操作符
操作符及使用 | 描述 |
---|---|
x + y | 连接两个字符串x和y |
n x或x n | 复制n次字符串x |
x in s | 如果x是s的子串,返回True,否则返回False |
字符串处理函数
函数 | 描述 |
---|---|
表格 | 长度,返回字符串x的长度len("一二三456")结果为6 |
表格 | 任意类型x所对应的字符串形式 |
表格 | hex(425)结果为"Ox1a9" oct(425)结果为"0o651" |
表格 | 表格 |
表格 | 表格 |
str.lower()或str.upper() | 返回字符串的副本,全部字符小写/大写\n"AbCdEfGh".lower()结果为"abcdefgh" |
str.split(sep=None) | 返回一个列表,由str根据sep被分隔的部分组成\n"A,B,C".split(",")结果为['A','B','C'] |
str.count(sub) | 返回子串sub在str中出现的次数\n"an apple a day".count( "a")结果为4 |
str.replace(old, new) | 返回字符串str副本,所有old子串被替换为new\n"python".replace("n" , "n123.io")结果为"python123.io" |
str.center(width[,fillchar]) | 字符串str根据宽度width居中,fillchar可选 "python".center(20,"=")结果为\n'=======python=======' |
ststrip(chars) | 从str中去掉在其左侧和右侧chars中列出的字符 "= python= ".strip(" =np")结果为 "ytho" |
str.join(iter) | 在iter变量除最后元素外每个元素后增加一个str ".".join( "12345")结果为 "1,2,3,4,5"#主要用于字符串分隔等 |
评论 (0)