用严格的缩进代替C++中的{},简洁美观。
变量不需要传统的定义,系统推断,类似auto
命名规则:大小写字母、数字、下划线和汉字等字符组合
注意事项:大小写敏感、首字符不能是数字、不与保留字相同
注释#注释一句,三引号注释多行,有意思的是三引号也是字符串
33个保留字:(大小写敏感)
and elif import raise global
as else in return nonlocal
assert except is try True
break finally lambda while False
class for not with None
continue from or yield
def if pass del
EX1:
请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。
转换算法如下:(C表示摄氏度、F表示华氏度)
C = ( F - 32 ) / 1.8
F = C * 1.8 + 32
#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("输入格式错误")
1.input()函数:读取字符串,参数为提示符
2.eval()函数:去除字符串的引号,变为对应类型,这个函数真的很惊艳
3.切片操作,左开右闭,li[::2] 最后可以加步长,-1为逆索引
4.字符串格式化操作,非常方便 字符串内 {},接.format() 。:.2f对字符控制,小数点后两位的浮点数
EX2:
素数检验
from math import sqrt n = int(input("Please input number:")) for i in range(2,int(sqrt(n))): if n %i ==0: print(f"{n} is Not a prime number.") break else: print(f"{n} is a prime number.")
1.range(a,b,step)函数,产生一个可迭代的序列,可加步长
2.f-strings格式化,把括号内当作是变量
pi =3.14159 print(f'pi ={pi:.2f}')
得到 ‘pi = 3.14’
进制转换
f'int:31,hex:{31:x},oct:{31:o}' 'int:31, hex:1f,oct:37'
3.for else语句,else可以与for搭配,如果for正常执行万循环就会执行else。
EX3:
打印一个朴素的三角形
n=int(input("Please input number:")) for i in range(n): print('*'*i)
对比C++简介很多, 字符串支持*操作,即重复 n遍