实验1 python开发环境和编程初体验

1.实验任务1

task1-1.py

程序源代码:

复制代码
 1 # print输出的几种用法
 2 
 3 # 用法1:用于输出单个字符串或单个变量
 4 print('hey,u')
 5 
 6 # 用法2:用于输出多个数据项,用逗号分隔
 7 print('hey','u')
 8 x,y,z = 1,2,3
 9 print(x,y,z)
10 
11 # 用法3:用户混合字符串和变量值
12 print('x = %d, y = %d, z = %d'%(x,y,z))  #方式1:传统c风格
13 print('x = {}, y = {}, z = {}'.format(x,y,z)) #方式2:s.format()方法
14 
15 # 其他:输出后是否换行
16 print(x)  #默认输出后换一行
17 print(y)
18 print(z)
19 
20 print(x, end=' ') #输出结束后,不换行:通过end指定数据项之间的分隔符
21 print(y, end=' ')
22 print(z)
复制代码

运行结果截图:

 

task1-2.py

程序源代码:

复制代码
 1 # 使用字符串的format()方法,对输出数据项进行格式化
 2 
 3 x1,y1 = 1.2, 3.57
 4 x2,y2 = 2.26, 8.7
 5 
 6 # 输出1
 7 print('{:-^40}'.format('输出1'))  #{:-^40}控制输出数据格式:宽度占40列,居中对齐,空白处用-补齐
 8 print('x1 = {},y1  = {}'.format(x1,y1))
 9 print('x2 = {},y2  = {}'.format(x2,y2))
10 
11 # 输出2
12 print('{:-^40}'.format('输出2'))
13 print('x1 = {:.1f},y1  = {:.1f}'.format(x1,y1))  # {:.1f}控制小数输出精度,保留一位小数
14 print('x2 = {:.1f},y2  = {:.1f}'.format(x2,y2))
15 
16 # 输出3
17 print('{:-^40}'.format('输出3'))
18 print('x1 = {:<15.1f},y1  = {:<15.1f}'.format(x1,y1))  # {:<15.1f}控制数据输出宽度占15列,小数部分占1列,左对齐,空白处默认补空格
19 print('x2 = {:<15.1f},y2  = {:<15.1f}'.format(x2,y2))
20 
21 # 输出4
22 print('{:-^40}'.format('输出4'))
23 print('x1 = {:>15.1f},y1  = {:>15.1f}'.format(x1,y1))  # {:>15.1f}控制数据输出宽度占15列,小数部分占1列,右对齐,空白处默认补空格
24 print('x2 = {:>15.1f},y2  = {:>15.1f}'.format(x2,y2))
复制代码

运行结果截图:

 

task1-3.py

程序源代码:

复制代码
# 使用f-string方式输出数据并控制格式

name1, age1 = 'Bill', 19
name2, age2 = 'hellen', 18
title = 'personnel Information'

print(f'{title:=^40}')   # 输出title的值,=^指定输出宽度占40列,居中对齐,用=填充空白
print(f'name:{name1:10} age:{age1:3}')  # 10和3分别指定数据项输出宽度
print(f'name:{name2:10} age:{age2:3}')
print(40*'=')
复制代码

运行程序截图:

实验结论:print()可以:1.输出单个字符串或单个变量:如print('hi')、print(2)...

2.输出多个数据项(此处注意需用逗号分隔):如print('hi','hello')...

3.混合字符串和数据值:如print('x = %d, y = %d, z = %d' %(x,y,z)) 

 

 

4.控制输出数值换行问题;

 

 

2.实验任务2

task2-1.py

程序源代码:

复制代码
 1 r1 = eval('1 + 2')
 2 print(type(r1), r1)
 3 
 4 r2 = eval('1+2j')
 5 print(type(r2), r2)
 6 
 7 r3 = eval('"python"')
 8 print(type(r3), r3)
 9 
10 r4 = eval('7, 42')
11 print(type(r4), r4)
复制代码

 

运行程序截图:

 

 

task2-2.py

程序源代码:

1 x, y = eval(input('Enter two oprands: '))
2 ans = x + y
3 print(f'{x} + {y} = {ans}')
4 print(f'{type(x)} + {type(y)} = {type(ans)}')

运行程序截图:

实验结论:对于eval()的用法:eval运用起来相当于将括号内的字符串两侧引号移除:对于字符串,则是字符串相加:如eval('1'+'2')的运行结果为12;而对于数值,则是数值的函数运算:又如eval(1+2)运行结果则为3

 

 

3.实验任务3

程序源代码: 

ans1 = 0.1 + 0.2
print(f'0.1 + 0.2 = {ans1}')
import decimal
ans2 = decimal.Decimal('0.1') + decimal.Decimal('0.2')
print(f'0.1 + 0.2 = {ans2}')

运行结果截图:

 

 问题分析:1:为什么输出结果显示存在误差?答:对于python来说,浮点数计算在储存上就出现了误差。浮点数在计算机中是以二进制进行保存,由十进制小数转化为二进制小数时,很容易就会无限循环下去,有由于计算机储存的位数是有限的,所以必然会造成精度的损失。对于ans1来说,对0.1+0.2进行了浮点数运算,因而出现了误差。

2.Decimal()是如何进行浮点数运算的:decimal()直接构建十进制浮点数并进行常规的数值运算。

4.实验任务4

程序源代码:

复制代码
 1 #task5_1.py
 2 
 3 # chr()返回unicode编码对应的字符
 4 print(chr(0x1f600), end = " ")
 5 print(chr(0x1f601), end = " ")
 6 print(chr(0x1f602), end = " ")
 7 print(chr(0x1f603), end = " ")
 8 print(chr(0x1f604))
 9 print(chr(10000), end=" ")
10 print(chr(0x025b), end=" ")
11 print(chr(0x2708), end=" ")
12 print(chr(0x00A5), end=" ")
13 print(chr(0x266b))
14 
15 # ord()返回字符的unicode编码
16 print(ord('a'), end = " ")
17 print(ord('b'), end = " ")
18 print(ord('c'))
19 print(ord('A'), end = " ")
20 print(ord('B'), end = " ")
21 print(ord('C'))
22 print(ord('0'), end = " ")
23 print(ord('1'), end = " ")
24 print(ord('2'))
复制代码

运行程序截图:

 

 实验结论:1、chr()用来识别某字符的unicode编码:在括号中输入某数值,chr()可以返回以数值为编码的字符,可以帮助我们更好的处理字符串。

2.ord()用来将某字符转化为Unicode编码:在括号中输入某字符,ord()可以将该字符转化为一个整数

 

5.实验任务5

 task5-1.py

程序源代码:

复制代码
1 #简单的数学计算
2 import math
3 n = float(input('输入一个数:'))
4 ans1 = n**0.5
5 ans2 = pow(n, 0.5)
6 ans3 = math.sqrt(n)
7 print('%.2f的平方根是: %.2f' %(n, ans1))
8 print('{:.2f}的平方根是: {:.2f}'.format(n, ans2))
9 print(f'{n:.2f}的平方根是: {ans3:.2f}')
复制代码

运行程序截图:

 

 

task5-2.py

程序源代码:

复制代码
 1 # 神奇的pi, 与大饼
 2 import math
 3 text = '''
 4 好奇心是人的天性。
 5 理想情况下,学习新东西是让人愉快的事。
 6 但学校里的学习似乎有点像苦役。
 7 有时候,需要画一个大饼,每次尝试学一些新鲜的,才会每天变得更好一点点。
 8 '''
 9 print(text)
10 r = float(input('给学习画一个大饼,大饼要做的很大,半径要这么大: '))
11 circle = 2*math.pi*r
12 print(f'绕起来,大饼的圆周有这么长, {circle}, 够不够激发你探索未知的动力...')
复制代码

运行程序截图:

 

 

6.实验任务6

task6.py

程序源代码:

#
import math

x = float(input())
y = pow(x, 365)
print('{}的365次方:{}'.format(x,y))

运行程序截图:

 

 

7.实验任务7

程序源代码:

复制代码
 1 #煮出完美的鸡蛋
 2 
 3 from math import pi, log
 4 ρ = 1.038
 5 c = 3.7
 6 K = 5.4*10**(-3)
 7 M = 67
 8 Tw =100
 9 Ty = 70
10 
11 T0 = float(input())
12 t = pow(M,2/3)*c*pow(ρ,1/3)/(K*pi*pi*pow(4*pi/3,2/3))*log(0.76*(T0-Tw)/(Ty-Tw))
13 m = int(t/60)
14 s = int(round(t-(m*60)))
15 print('T0 ={}℃,t = {}分{}秒'.format(T0,m,s))
复制代码

运行结果截图:

 

 

8.实验报告8

task8-1.py

程序源代码:

复制代码
 1 """
 2 家用电器销售系统
 3 v1.0
 4 """
 5 
 6 #欢迎信息
 7 print('欢迎使用家用电器销售系统!')
 8 
 9 #产品信息列表
10 print('产品和价格信息如下:')
11 print('******************************************************')
12 print('%-10s'%'编号','%-10s'%'名称','%-10s'%'品牌','%-10s'%'价格','%-10s'%'库存数量')
13 print('--------------------------------------------------------------------------')
14 print('%-10s'%'0001','%-10s'%'电视机','%-10s'%'海尔','%10.2f'%5999.00,'%10d'%20)
15 print('%-10s'%'0002','%-10s'%'冰箱','%-10s'%'西门子','%10.2f'%6998.00,'%10d'%15)
16 print('%-10s'%'0003','%-10s'%'洗衣机','%-10s'%'小天鹅','%10.2f'%1999.00,'%10d'%10)
17 print('%-10s'%'0004','%-10s'%'空调','%-10s'%'格力','%10.2f'%3900.00,'%10d'%0)
18 print('%-10s'%'0005','%-10s'%'热水器','%-10s'%'美的','%10.2f'%688.00,'%10d'%30)
19 print('%-10s'%'0006','%-10s'%'笔记本','%-10s'%'联想','%10.2f'%5699.00,'%10d'%10)
20 print('%-10s'%'0007','%-10s'%'微波炉','%-10s'%'苏泊尔','%10.2f'%480.50,'%10d'%33)
21 print('%-10s'%'0008','%-10s'%'投影仪','%-10s'%'松下','%10.2f'%1250.00,'%10d'%12)
22 print('%-10s'%'0009','%-10s'%'吸尘器','%-10s'%'飞利浦','%10.2f'%999.00,'%10d'%9)
23 print('--------------------------------------------------------------------------')
24 
25 #用户输入信息
26 product_id=input('请输入您要购买的产品编号:')
27 price=float(input('请输入您要购买的产品价格:'))
28 count=int(input('请输入您要购买的产品数量:'))
29 
30 #计算金额
31 print('购买成功,您需要支付',price*count,'')
32 
33 #退出系统
34 print('谢谢您的光临,下次再见!')
复制代码

 

运行程序截图:

 

 

task8-2.py

程序源代码:

复制代码
 1 """
 2  家用电器销售系统
 3   v1.0
 4 """
 5 
 6 #欢迎信息
 7 print('欢迎使用家用电器销售系统!')
 8 
 9 #产品信息列表
10 print('产品和价格信息如下:')
11 print('******************************************************')
12 print("{:<10} {:<10} {:<10} {:<10} {:<10}".format("编号","名称","品牌","价格","库存数量"))
13 print('--------------------------------------------------------------------------')
14 print("{:<10} {:<10} {:<10} {:^10.2f} {:^10}".format("0001","电视机","海尔",5999,20))
15 print("{:<10} {:<10} {:<10} {:^10.2f} {:^10}".format("0002","冰箱","西门子",6998,15))
16 print("{:<10} {:<10} {:<10} {:^10.2f} {:^10}".format("0003","洗衣机","小天鹅",1999,10))
17 print("{:<10} {:<10} {:<10} {:^10.2f} {:^10}".format("0004","空调","格力",3900,0))
18 print("{:<10} {:<10} {:<10} {:^10.2f} {:^10}".format("0005","热水器","美的",688,30))
19 print("{:<10} {:<10} {:<10} {:^10.2f} {:^10}".format("0006","笔记本","联想",5699,10))
20 print("{:<10} {:<10} {:<10} {:^10.2f} {:^10}".format("0007","微波炉","苏泊尔",480.5,33))
21 print("{:<10} {:<10} {:<10} {:^10.2f} {:^10}".format("0008","投影仪","松下",1250,12))
22 print("{:<10} {:<10} {:<10} {:^10.2f} {:^10}".format("0009","吸尘器","飞利浦",999,9))
23 print('--------------------------------------------------------------------------')
24 
25 #用户输入信息
26 product_id=input('请输入您要购买的产品编号:')
27 price=float(input('请输入您要购买的产品价格:'))
28 count=int(input('请输入您要购买的产品数量:'))
29 
30 #计算金额
31 print('购买成功,您需要支付',price*count,'')
32 
33 #退出系统
34 print('谢谢您的光临,下次再见!')
复制代码

 

运行程序截图:

 

 

task8-3.py

程序源代码:

复制代码
"""
 家用电器销售系统
  v1.0
"""

#欢迎信息
print('欢迎使用家用电器销售系统!')

#产品信息列表
print('产品和价格信息如下:')
print('******************************************************')
print(f"{'编号':<10} {'名称':<10} {'品牌':<10} {'价格':<10} {'库存数量':<10}")
print('--------------------------------------------------------------------------')
print(f"000{1:<10}{'电视机':<10}{'海尔':<10}{5999:^10.2f}{20:^10}")
print(f"000{2:<10}{'冰箱':<10}{'西门子':<10}{6998:^10.2f}{15:^10}")
print(f"000{3:<10}{'洗衣机':<10}{'小天鹅':<10}{1999:^10.2f}{10:^10}")
print(f"000{4:<10}{'空调':<10}{'格力':<10}{3900:^10.2f}{0:^10}")
print(f"000{5:<10}{'热水器':<10}{'美的':<10}{688:^10.2f}{30:^10}")
print(f"000{6:<10}{'笔记本':<10}{'联想':<10}{5699:^10.2f}{10:^10}")
print(f"000{7:<10}{'微波炉':<10}{'苏泊尔':<10}{480.5:^10.2f}{33:^10}")
print(f"000{8:<10}{'投影仪':<10}{'松下':<10}{1250:^10.2f}{12:^10}")
print(f"000{9:<10}{'吸尘器':<10}{'飞利浦':<10}{999:^10.2f}{9:^10}")
print('--------------------------------------------------------------------------')

#用户输入信息
product_id=input('请输入您要购买的产品编号:')
price=float(input('请输入您要购买的产品价格:'))
count=int(input('请输入您要购买的产品数量:'))

#计算金额
print('购买成功,您需要支付',price*count,'')

#退出系统
print('谢谢您的光临,下次再见!')
复制代码

 

运行程序截图: 

 

posted @   nettj  阅读(47)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示