实验一 Python基础及基本数据类型实验
前言:因为做学习笔记的缘故,接触了markdown,使用虽然方便,但不甚熟练,所以拿出以前学习的python的内容,学习markdown的同时,顺便复习python的相关内容。
一、实验目的
- 掌握Python数字类型的使用方法;
- 掌握将数学表达式转换成Python语言表达式的方法及注意事项;
- 掌握有关运算符号的特殊要求;
- 掌握输入、输出函数的使用方法;
- 掌握格式字符的使用方法;
- 掌握使用格式字符进行数制转换的方法。
二、实验内容
-
求表达式的值:
(1)数学下列表达式的值,并输出。
①求x=1,y=2时, 1 3 [ x 2 + ( ∣ x − y ∣ − 1 ) ] \frac{1}{3}[x^2+(|x-y|-1)] 31[x2+(∣x−y∣−1)]
- 代码如下:
x, y = 1, 2 f = (2 * x**2 + abs(x - y) - 1) / 3 print(f)
- 输出结果:
0.6666666666666666
②a=3,b=5,c=1时, − b + b 2 − 4 a c 2 a \frac{-b+\sqrt{b^2-4ac}}{2a} 2a−b+b2−4ac - 代码如下:
import math a, b, c = 3, 5, 1 f = (-b + math.sqrt(b**2 - 4 * a * c)) / (2 * a) print(f)
- 输出结果:
-0.2324081207560018
③sin π 6 \frac{\pi}{6} 6π+e2 - 代码如下:
import math print(math.sin(math.pi / 6) + math.exp(2))
- 输出结果:
7.88905609893065
(2)问题1:编写程序求表达式“3.5+(9/2*(3.5+6.7)/2)%4”的结果,并输出。
- 代码如下:
f = 3.5 + (9 / 2 * (3.5 + 6.7) / 2) % 4 print(f)
-
输出结果:
6.449999999999999
问题2:在上面程序的基础上,将输出结果调整为如下形式:
表达式"3.5 + (9/2*(3.5 + 6.7)/2)%4"的值为:计算结果(保留小数点后五位) -
代码如下:
f = 3.5 + (9 / 2 * (3.5 + 6.7) / 2) % 4 print('表达式"3.5 + (9/2*(3.5 + 6.7)/2)%4"的值为:{:.5f}'.format(f))
- 输出结果:
表达式"3.5 + (9/2*(3.5 + 6.7)/2)%4"的值为:6.45000
-
输出整数500的浮点数(小数点后两位)、二进制数、八进制数和十六进制数。
- 代码如下:
print("{0:.2f} {0:b} {0:o} {0:X}".format(500))
- 输出结果:
500.00 111110100 764 1F4
-
python关系表达式实验
(1)请编写一段程序判断输入的直角坐标系x,y点是否在第二象限或第四象限。在,则输出“该点在二象限或第四象限”。不在,则输出“该点不在第二象限或第四象限”。- 代码如下:
x = input("请输入该点的横坐标:") y = input("请输入该点的纵坐标:") if (eval(x) < 0 and eval(y) > 0) or (eval(x) > 0 and eval(y) < 0): print("该点在第二象限或第四象限") else: print("该点不在第二象限或第四象限")
- 输出结果:
请输入该点的横坐标:2 请输入该点的纵坐标:3 该点不在第二象限或第四象限
(2)请编写一段程序判断x是否是3或者7的倍数,并输出判断结果。
- 代码如下:
num = eval(input("请输入需要判断的数:")) if num % 3 == 0 and num % 7 == 0: print("{}同时是3和7的倍数".format(num)) elif num % 3 == 0: print("{}是3的倍数".format(num)) elif num % 7 == 0: print("{}是7的倍数".format(num)) else: print("{}既不是3的倍数也不是7的倍数".format(num))
- 输出结果:
请输入需要判断的数:5 5既不是3的倍数也不是7的倍数
(3)请编写一段程序判断x是否是一个大写字母,并输出判断结果。
- 代码如下:
letter = input("请输入一个字母:") if not letter.islower(): print("{}是一个大写字母".format(letter)) else: print("{}不是一个大写字母".format(letter))
- 输出结果:
请输入一个字母:a a不是一个大写字母
-
若a=3,b=4,c=5(使用键盘输入),要求编写程序,用input函数完成输入,并按以下要求的格式输出:
x1 = a + b + c = ?
x2 = a - b - c = ?- 代码如下:
a = eval(input()) b = eval(input()) c = eval(input()) print("x1 = a + b + c = {} + {} + {} = {}".format(a, b, c, a+b+c)) print("x2 = a - b - c = {} - {} - {} = {}".format(a, b, c, a-b-c))
- 输出结果:
3 2 1 x1 = a + b + c = 3 + 2 + 1 = 6 x2 = a - b - c = 3 - 2 - 1 = 0
-
定义字符串“Hello,World!”,分别求:
(1)输出定义的变量的类型
(2)输出字符串的长度
(3)判断字符串中字符是否全为小写字母,并输出结果
(4)将大写字母转换为小写并输出字符串
(5)将字符串各字符之间使用空格间隔并输出
(6)输出一个长度为30的字符串,让“Hello , World!”处于居中位置,其余字符使用*号填充- 代码如下:
str0 = "Hello,World!" # 输出定义的变量的类型 print(type(str0)) # 输出字符串的长度 print(len(str0)) # 判断字符串中字符是否全为小写字母,并输出结果 if str0.islower(): print("{}中字符全是小写字母".format(str0)) else: print("{}中字符不全是小写字母".format(str0)) # 将大写字母转换为小写并输出字符串 print(str0.lower()) # 输出一个长度为30的字符串,让“Hello , World!”处于居中位置,其余字符使用*号填充 print(str0.center(30, '*')) # 将字符串各字符之间使用空格间隔并输出 outstr0 = " ".join(str0) print(outstr0)
- 输出结果:
<class 'str'> 12 Hello,World!中字符不全是小写字母 hello,world! *********Hello,World!********* H e l l o , W o r l d !
-
已知三角形的三条边,编程计算三角形的面积并输出。
提示:三角形的面积公式为s= h ( h − 1 ) ( h − b ) ( h − c ) \sqrt{h(h-1)(h-b)(h-c)} h(h−1)(h−b)(h−c) 其中,a,b,c分别为三角形的三条边长,h为三角形周长的一半- 代码如下:
import math # 已知三角形的三条边,编程计算三角形的面积并输出 a = eval(input()) b = eval(input()) c = eval(input()) h = (a + b + c) / 2 s = math.sqrt(h * (h - a) * (h - b) * (h - c)) print("三角形的面积为:",s)
- 输出结果:
3 4 5 三角形的面积为: 6.0
附加题: 编写程序,把变量2018的每位数字提取出来并输出。
这一题的解法有很多种,在这里我们将变量2018由整型变量改为字符串,然后通过循环切片的方式,将每一位数字提取并输出。
- 程序如下:
num = 2018
str_num = str(num)
for i in str_num:
print(i)
- 输出结果:
2
0
1
8