python01---第一章:程序设计基本方法
1.编程语言的执行方式
计算机执行语言的两种方式:编译、解释
- 源代码:
采用某种编程语言编写的计算机程序,人类可读
例如:result=2+3 - 目标代码:计算机可直接执行,人类不可读(专家除外)
例如:11010010 00111011
(1)编译:
将源代码一次性转换成目标代码的过程(执行编译过程的程序叫作编译器)。类似于一次性翻译。
(2)解释:
将源代码逐条转换成目标代码同时进行逐条运行的过程(执行解释过程的程序叫作解释器)。类似于同声传译。
2.静态语言和脚本语言(依据执行方式进行划分):
静态语言:使用“编译”执行的编程语言(C/C++、JAVA)
脚本语言:使用“解释”执行的编程语言(python、javascript、PHP)
3.IPO:
I:input 程序的输入
P:process 处理 程序的主要逻辑
O:output 程序的输出
4.温度转换:
摄氏度C转换为华氏度F:F=C*1.8+32
华氏度F转换为摄氏度C:C=(F-32)/1.8
#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("输入格式错误")
'''#运行结果
请输入带有符号的温度值:82F
转换后的温度是27.78C
请输入带有符号的温度值:28c
转换后的温度是82.40F'''
代码分析:
(1)注释:
单行注释:#
多行注释:’’’ ‘’’
(2)命名:大小写字母、数字、下划线、中文 等字符。大小写敏感,首字符不能是数字、不与保留字相同。
保留字有:
(3)数据类型:10 011 101
- 字符串 “10,011,101”
- 整数、浮点数10011101
- 列表[10,011,101]
(注:列表类型由0个或多个数据组成的有序序列,例如:[‘F’,‘f’])
(4)字符串索引:
- 字符串:由0个或多个字符组成的有序字符序列
- 由一对单引号或一对多引号表示:
“请输入带有符号的温度值:”或者’C’ - 字符串是字符的有序序列,可以对其中的字符进行索引:“请”是第0个字符
- 字符串的序号:
例如:“请输入带有符号的温度值:”【1:3】
表示的就是“输入”,即第1 2个字符,未到第三个字符。
(5)输出函数:print()
print(“转换后的温度是{:.2f}C”.format©)
{} 表示槽,后续变量填充到槽中
{:.2f} 表示将变量C填充到这个位置时取小数点后2位
(6)函数eval():
将输入的字符串转变成python语句,并执行该语句。
即:去掉参数最外侧引号,并执行余下语句的函数
5.几个小练习:
(1)数值转换:
用户输入的一个字符串,格式如下: M OP N
其中,M和N是任何数字,OP代表一种操作,表示为如下四种:+, -, *, /(加减乘除)
根据OP,输出M OP N的运算结果,统一保存小数点后2位。
注意:M和OP、OP和N之间可以存在多个空格,不考虑输入错误情况。
if TempStr[1:2] in ["+"]:
result=(eval(TempStr[0])+eval(TempStr[-1]))
print("结果为{:.2f}".format(result))
elif TempStr[1:2] in ["-"]:
result=(eval(TempStr[0])-eval(TempStr[-1]))
print("结果为{:.2f}".format(result))
elif TempStr[1:2] in ["*"]:
result=(eval(TempStr[0])*eval(TempStr[-1]))
print("结果为{:.2f}".format(result))
elif TempStr[1:2] in ["/"]:
result=(eval(TempStr[0])/eval(TempStr[-1]))
print("结果为{:.2f}".format(result))
else:
print("输入格式错误")
'''运行结果:
请输入字符串:1+1
结果为2.00
>>> 2/5
0.4'''
(2)字符串拼接
str1=input("请输入一个人的名字:")
str2=input("请输入一个国家的名字:")
print("世界这么大,{}想去{}看看。".format(str1,str2))
'''结果显示:
请输入一个人的名字:小明
请输入一个国家的名字:澳大利亚
世界这么大,小明想去澳大利亚看看。'''
(3)整数序列求和
#整数序列求和
n=input("请输入整数N:")
sum=0
for i in range(int(n)):
sum += i+1
print("1到N求和结果:",sum)
''' 结果显示:
请输入整数N:2
1到N求和结果: 3 '''
(4)九九乘法表:
for i in range(1,10):
for j in range(1,i+1):
print("{}*{}={:.2f}".format(j,i,i*j),end=' ')
#end=' ' 间隔一个 空格
print(" ")
#换行
'''结果显示:
1*1=1.00
1*2=2.00 2*2=4.00
1*3=3.00 2*3=6.00 3*3=9.00
1*4=4.00 2*4=8.00 3*4=12.00 4*4=16.00
1*5=5.00 2*5=10.00 3*5=15.00 4*5=20.00 5*5=25.00
1*6=6.00 2*6=12.00 3*6=18.00 4*6=24.00 5*6=30.00 6*6=36.00
1*7=7.00 2*7=14.00 3*7=21.00 4*7=28.00 5*7=35.00 6*7=42.00 7*7=49.00
1*8=8.00 2*8=16.00 3*8=24.00 4*8=32.00 5*8=40.00 6*8=48.00 7*8=56.00 8*8=64.00
1*9=9.00 2*9=18.00 3*9=27.00 4*9=36.00 5*9=45.00 6*9=54.00 7*9=63.00 8*9=72.00 9*9=81.00 '''
(5)求 1+2!+3!+4!+5!+……+10!
tmp=1
sum=0
for i in range(1,10):
tmp *= i
sum += tmp
print("运算结果是{}".format(sum))
'''结果显示:
运算结果是409113'''
(6)计算圆的面积
>>> r=25
>>> area=3.1415*r*r
>>> print(area)
1963.4375000000002
>>> print("{:.2f}".format(area))
1963.44
(7)同切圆绘制
import turtle
turtle.pensize(2)
turtle.circle(10)
turtle.circle(40)
turtle.circle(80)
turtle.circle(160)
结果显示:
(8)绘制一个五角星
from turtle import *
color('red','red')
begin_fill()
for i in range(5):
fd(200)
rt(144)
end_fill()
done
结果显示:
(9)斐波那契数列(1000以内)
a,b=0,1
while a<1000:
print(a,end=',')
a,b=b,a+b
'''结果显示:
0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,'''
(10)日期和时间的输出
from datetime import datetime
print(datetime.now())
'''结果展示:
2020-04-01 20:59:51.901713'''
(11)让两个print函数的输出打印在一行中
print("aaa",end=' ')
print("bbb")
'''结果展示:aaa bbb'''