实验二——数据类型、运算符、表达式及语句
知识点填空
1.在 Python 中,标识符必须以字母或下划线“_”开头,且标识符区分大小写,因此Sum、sum、SUM是三个不同的标识符,另外,Python中所有的标点符号都必须是英文(英文/中文)标点符号。除了字符串本身含有的标点符号可以是中文(英文/中文)标点符号。
2.在Python 中,有些特殊的标识符被用作特殊的用途,程序员在命名标识符时,不能与这些标识符同名,这类标识符称为系统标识符或关键字或保留字。
3.Python 中的变量是用来标识对象或引用对象的。变量中存储的值通过变量名访问,变量的命名规则必须遵循标识符命名规则,Python中的变量在访问之前必须有一个确定的值,可以通过赋值语句来实现。
4. Python 是解释型或脚本语言,即变量不需要显式声明数据类型。根据变量的赋值,Python解释器会自动确定该变量的数据类型;在Python 中,可以通过type()函数,返回某个变量的数据类型。Python又是一种强类型语言,Python解释器会根据赋值或具体的运算来自动确定变量类型,而且不同的数据类型支持的运算不完全一样,因此在使用变量时,需要程序员自己确定所进行的运算是否合适,以免出现异常或者预料之外的结果。
5.在Python中,除了形如“x=5”这种简单的赋值外,还有链式赋值、复合赋值和解包赋值(也称同步赋值)等相对复杂一些的赋值方式。其中链式赋值可以实现为多个变量同时赋相同的值,而解包赋值可以实现为多个变量分别赋不同的值。
6.Python中的input()函数可以从键盘上获取用户输入的数据,该函数可以在接受用户从键盘输入数据之前,先输出一些提示信息,且该函数会把用户输入的所有数据都以字符串类型返回。
7.Python 中的print()函数可以把数据输出到Python解释器的交互窗口中,该函数可以一次输出若干项,且该函数输完所有输出项后,默认情况下会输出一个换行符。
8. Python 提供了整数、浮点数和复数三种基本的数值类型。
9.Python 内置的数值运算符有+、-、*、/、//、%、**,,其中*表示数学中的乘号,/表示数学中的除号,“//”表示整除运算,“%”表示取余运算,“**”表示乘方运算。除了内置的数值运算符外,Python还提供了一些内置的数学函数,如abs()函数可以求绝对值,round()函数可以进行四舍五入运算,max()函数可以求最大值,min()函数可以求最小值。
10.Python 提供了一个内置的数学函数库math,math库不支持复数(整数/浮点数/复数)类型,需要使用math库时,可以使用import math和from math import *这两种方式来实现 math 库的导入,其中fsum()函数可以用于求和,gcd()函数可以用于求两个数的最大公约数,trunc()函数可以返回一个数的整数部分,ceil()函数可以向上取整,floor()函数可以向下取整。除了提供特殊功能的函数外,math库还提供了一些数学常数,如pi表示圆周率,e表示自然对数。
分析
结果如下:
10
‘I am a student’
出错
1
1 2.5 1+2j
<class 'int'>
<class 'float'>
<class 'complex'>
出错
a=5 b=6
a=6 b=5
实验内容
1.IDLE运行结果
7 3 10 2.5 2 1 25 Ture False 2 5 False
2.通过下面的步骤可以计算某公司的利润。请把下面的文字描述转变为Python 代码,然后调试并运行。
(1)创建变量revenue,并赋值为98 765。
(2)创建变量costs,并赋值为40 000。
(3)创建变量profit,并赋值为变量revenue 和 costs 的差值。
(4)输出变量profit 的值。
#(1)创建变量revenue,并赋值为98 765
revenue=98765
#(2)创建变量 costs,并赋值为40 000
costs=40000
#(3)创建变量 profit,并赋值为变量revenue 和 costs 的差值
profit=revenue-costs
#(4)输出变量 profit 的值
print(profit)
3.通过下面的步骤可以计算出储蓄账户中以100元人民币为本金,每年5%为复利,三年后的本息总和。请把下面的文字描述转变为Python 代码,然后调试并运行。
(1)创建变量balance,并赋值为100。
(2)balance 增长5%,并赋值给balance。
(3)balance 增长5%,并赋值给 balance。
(4) balance 增长5%,并赋值给balance。
(5)输出 balance的值。
'''
注意:python中%是取模运算,所以不能用5%
'''
#(1)创建变量balance,并赋值为 100
balance=100
#(2)balance 增长5%,并赋值给 balance
balance=balance*(1+0.05)
#(3)balance 增长5%,并赋值给balance
balance=balance*(1+0.05)
#(4) balance 增长5%,并赋值给balance
balance=balance*(1+0.05)
#(5)输出 balance的值
print(balance)
4.通过下面的步骤可以计算出三门功课的总分和平均分。请把下面的文字描述转变为Python 代码,然后调试并运行。
(1)创建变量scorel,并从键盘上输入分数赋值给 scoret.
(2)创建变量score2,并从键盘上输入分数赋值给score2,
(3)创建变量score3,并从键盘上输入分数赋值给score3。
(4)创建变量sum,并将 scorel、score2与score3 的和赋值给sum。
(5)创建变量avg,并将sum除以3的商赋值给avg。
(6)输出 sum 和 avg。
#(1)创建变量分数,并从键盘上输入分数赋值给score1
score1=eval(input())
#(2)创建变量score2,并从键盘上输入分数赋值给score2
score2=eval(input())
#(3)创建变量score3,并从键盘上输入分数就值给score3
score3=eval(input())
#(4)创建变量sum,并将score1、score 2与score 3的和赋值给sum
sum=score1+score2+score3
#(5)创建变量avg,并将sum除以3的商赋值给avg
avg=sum/3
#(6)输出 sum 和avg
print(sum,avg)
5.编写程序,计算汽车的平均油耗。假设一个司机想计算他的汽车每百千米的平均油耗,这个司机在第一次加油时,观察车子已经行驶的总里程为23 352千米,该司机加满油箱以后,在第二次加油时,观察车子行驶的总里程为23690千米,第二次加满油箱时,显示加了24升油。请编程计算该汽车每百千米的平均油耗。
'''
IPO
I输入:无输入,给定数据,
O输出:输出平均油耗
P处理数据:加油量/百千米里程
'''
S1=23352
S2=23690
Oil=24
print("该汽车每百千米的平均油耗是:",Oil/((S2-S1)/100))
6.编写程序,实现一个三位数的反序输出。从键盘上输入一个三位整数,对输入的三位数进行处理和变换,输出这个三位数的反序数。
[提示]
(1)依次求出变量的百位、十位和个位,分别赋值给A、B、C三个变量。
(2)可以用100xC+10XB+A得到反序数。
'''
I输入:输入一个三位整数
O输出:输出这个三位数的反序数
P处理数据:
方式一:将其看作是一个数值类型,通过取整和取余方式得到反序数
方式二:将其看作是一个字符串,通过索引方式得到反序数
'''
#方式一
num=eval(input('输入一个三位整数:'))
num_hundred=num//100
num_ten=num%100//10
num_individual=num%10
num_re=num_individual*100+num_ten*10+num_hundred
print("这个三位数的反序数:",num_re)
#方式二
num=input('输入一个三位整数:')
num_hundred=num[0]
num_ten=num[1]
num_individual=num[2]
num_re=num_individual+num_ten+num_hundred
print("这个三位数的反序数:",num_re)
7.编写程序,计算三角形的面积。从键盘上分三次输入三角形的三条边长,输出三角形的面积。
'''
IPO
I输入:分三次输入三角形的三条边长
O输出:输出三角形面积
P处理数据:根据数学公式
'''
import math
a=eval(input("请输入三角形的第1条边长:"))
b=eval(input("请输入三角形的第2条边长:"))
c=eval(input("请输入三角形的第3条边长:"))
l=(a+b+c)/2
area=math.sqrt(l*(l-a)*(l-b)*(l-c))
print("该三角形的面积为:",area)
8. 编写程序,计算球的表面积和体积。从键盘上输入球的半径,输出球的表面积和体
积。运行效果如图 2-3所示。(如果你运行的结果如图2-3所示,面积和体积的最后一位不
一样,请思考其原因。)
原因:Python浮点数的数值范围和小数精度受不同计算机系统的限制,浮点数运算存在不确定尾数
'''
IPO
I输入:球的半径
O输出:输出球面积、球体积
P处理数据:根据数学公式
'''
import math
r=eval(input("请输入球的半径:"))
area1=4*math.pi*r*r
area2=4/3*math.pi*pow(r,3)
print("球的面积为:",area1)
print("球的体积为:",area2)
9.编写程序:计算“天天向上”和“天天向下”两种情况下的武力值。假设一年有365天,郭大侠第一天的武力值为1,如果郭大侠勤于练功,每天的武力值相比前一天会增加1%;如果郭大侠每天不练功,每天武力值相比前一天会减少1%,请计算一年后,郭大侠每天练功和不练功两种情况下的最终武力值。
'''
IPO
I输入:无输入
O输出:练功武力值、不练功武力值
P处理数据:数学运算
'''
import math
dayup=math.pow((1+0.01),365)#天天向上,武力值逐级递增
daydown=math.pow((1-0.01),365)#天天向下,武力值逐级递减
print(dayup)
print(daydown)