首页 > 编程语言 >实验1 Python开发环境使用和编程初体验

实验1 Python开发环境使用和编程初体验

时间:2023-03-08 20:59:09浏览次数:44  
标签:%- 输出 初体验 end format Python 编程 print 10s

一.实验结论:

实验任务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 print(f'x = {x}, y = {y}, z = {z}') # 式3: f-string方式
15 
16 # 其它: 输出后是否换行
17 print(x) # 默认输出后换一行
18 print(y)
19 print(z)
20 
21 print(x, end=' ') # 输出结束后,不换行;通过end指定数据项之间的分隔符
22 print(y, end=' ')
23 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'))  # {:-^40}控制输出数据格式: 宽度占40列,居中对齐,空白处用-补齐
13 print('x1 = {:.1f}, y1 = {:.1f}'.format(x1, y1)) # {:.1f}控制小数输出精度,保留1位小数
14 print('x2 = {:.1f}, y2 = {:.1f}'.format(x2, y2))
15 
16 # 输出3
17 print('{:-^40}'.format('输出3')) # {:-^40} 控制输出数据格式: 宽度占40列,居中对齐,空白处用-补齐
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('输出3')) # {:-^40} 控制输出数据格式: 宽度占40列,居中对齐,空白处用-补齐
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

程序源码:

 1 # 使用f-string方式输出数据并控制格式
 2 
 3 name1, age1 = 'Bill', 19
 4 name2, age2 = 'Hellen', 18
 5 title = 'Personnel Information'
 6 
 7 print(f'{title:=^40}')  # 输出title的值,=^40指定输出宽度占40列,居中对齐,用=填充空白
 8 print(f'name: {name1:10} age: {age1:3}') # 10和3分别指定数据项输出宽度
 9 print(f'name: {name2:10} age: {age2:3}')
10 print(40*'=')

运行结果截图:

总结print()用于输出的几种常用用法:

1.输出单个字符串或变量

2.输出多个数据项,用逗号分隔

3.输出混合字符串和变量值

4.输出换行与否

5.使用str.format()或f-string方式,实现数据输出和格式控制

 

实验任务2:task2_1.py

程序源码:

 1 # 内置函数eval()
 2 # 功能:把字符串转换为python表达式
 3 # 理解:相当于把圆括号中的内容,两侧引号去掉
 4 
 5 r1 = eval('1 + 2') # 相当于r1 = 1 + 2
 6 print(type(r1), r1)
 7 
 8 r2 = eval('1+2j') # 相当于r2 = 1+2j
 9 print(type(r2), r2)
10 
11 r3 = eval('"python"') # 相当于r3 = "python"
12 print(type(r3), r3)
13 
14 r4 = eval('7, 42') # 相当于r4 = 7, 42
15 print(type(r4), r4)

运行结果截图:

task2_2.py

程序源码:

1 # 组合使用内置函数eval()和input()
2 
3 x, y = eval(input('Enter two oprands: ')) # 输入的两个操作数之间用逗号分隔(英文半角输入法下的逗号)
4 ans = x + y
5 
6 print(f'{x} + {y} = {ans}')
7 print(f'{type(x)} + {type(y)} = {type(ans)}')

运行结果截图:

简要总结函数eval()的用法:

1.把字符串转换为python表达式

2.可与input()组合使用

 

实验任务3:task3.py

程序源码:

1 # 浮点数简单运算
2 
3 ans1 = 0.1 + 0.2
4 print(f'0.1 + 0.2 = {ans1}')
5 
6 import decimal
7 
8 ans2 = decimal.Decimal('0.1') + decimal.Decimal('0.2')
9 print(f'0.1 + 0.2 = {ans2}')

运行结果截图:

问题1的回答:line4中的0.1和0.2使用的是二进制浮点,所以没有精确的表示。

问题2的回答:decimal模块旨在支持“无偏差,精确无舍入的十进制算术和有舍入的浮点数算术”,该模块的设计以decimal数值,算术上下文和信号三个概念为中心。在需要时,程序员可以完全控制舍入和信号处理,这包括通过使用异常来阻止任何不精确的操作来强制执行精确算术的选项。

 

实验任务4:task4.py

程序源码:

 1 # 字符编码相关
 2 # chr()返回unicode编码对应的字符
 3 
 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 
10 print(chr(10000), end=" ")
11 print(chr(0x025b), end=" ")
12 print(chr(0x2708), end=" ")
13 print(chr(0x00A5), end=" ")
14 print(chr(0x266b))
15 
16 # ord()返回字符的unicode编码
17 print(ord('a'), end = " ")
18 print(ord('b'), end = " ")
19 print(ord('c'))
20 
21 print(ord('A'), end = " ")
22 print(ord('B'), end = " ")
23 print(ord('C'))
24 
25 print(ord('0'), end = " ")
26 print(ord('1'), end = " ")
27 print(ord('2'))

运行结果截图:

简要总结:

1.函数chr()的用法:返回unicode编码对应的字符

2.函数ord()的用法:返回字符的unicode编码

 

实验任务5:task5_1.py

程序源码:

 1 # 简单的数学计算
 2 import math
 3 
 4 n = float(input('输入一个数:'))
 5 
 6 # python中计算开平方的三种方式
 7 ans1 = n**0.5
 8 ans2 = pow(n, 0.5)
 9 ans3 = math.sqrt(n)
10 
11 print('%.2f的平方根是: %.2f' %(n, ans1)) # 以传统风方式(%)输出
12 print('{:.2f}的平方根是: {:.2f}'.format(n, ans2)) # 使用str.format()方式输出
13 print(f'{n:.2f}的平方根是: {ans3:.2f}') # 使用f-string方式输出

运行结果截图:

task5_2.py

程序源码:

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

运行结果截图:

 

实验任务6:task6.py

程序源码:

1 x=float(input())
2 y=x**365
3 print(f'{x:.2f}的365次方:{y:.2f}')

运行结果截图:

 

实验任务7:task7.py

程序源码:

 

 1 # 煮出完美鸡蛋所需时间
 2 import math
 3 
 4 ρ=1.038
 5 c=3.7
 6 K=0.0054
 7 M=67
 8 Tw=100
 9 Ty=70
10 
11 T0=int(input('T0:'))
12 t=(M**(2/3)*c*ρ**(1/3)*math.log(0.76*(T0-Tw)/(Ty-Tw)))/(K*(math.pi)**2*(4*(math.pi)/3)**(2/3))
13 
14 minute=int(t/60)
15 second=t%60
16 
17 print(f'T0={T0}℃,t={minute}分{second:.0f}秒')

运行结果截图:

 

实验任务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 
24 print('--------------------------------------------------------------')
25 
26 #用户输入信息
27 product_id=input('请输入您要购买的产品编号:')
28 price=float(input('请输入您要购买的产品价格:'))
29 count=int(input('请输入您要购买的产品数量:'))
30 
31 #计算金额
32 print('购买成功,您需要支付',price*count,'元')
33 
34 #退出系统
35 print('谢谢您的光临,下次再见!')

运行结果截图:

task8_2.py

程序源码:

 

 1 """
 2 家用电器销售系统
 3 v1.0
 4 """
 5 
 6 #欢迎信息
 7 print('欢迎使用家用电器销售系统!')
 8 
 9 #产品信息列表
10 print('产品和价格信息如下:')
11 print('**************************************************************')
12 print('{:10s}{:10s}{:10s}{:10s}{:10s}'.format('编号','名称','品牌','价格','库存数量'))
13 print('--------------------------------------------------------------')
14 print('{:10s}{:10s}{:10s}{:<10.2f}{:^10s}'.format('0001','电视机','海尔',5999,'20'))
15 print('{:10s}{:10s}{:10s}{:<10.2f}{:^10s}'.format('0002','冰箱',  '西门子',6998,'15'))
16 print('{:10s}{:10s}{:10s}{:<10.2f}{:^10s}'.format('0003','洗衣机','小天鹅',1999,'10'))
17 print('{:10s}{:10s}{:10s}{:<10.2f}{:^10s}'.format('0004','空调',  '格力',3900,'0'))
18 print('{:10s}{:10s}{:10s}{:<10.2f}{:^10s}'.format('0005','热水器','美的',688,'30'))
19 print('{:10s}{:10s}{:10s}{:<10.2f}{:^10s}'.format('0006','笔记本','联想',5699,'10'))
20 print('{:10s}{:10s}{:10s}{:<10.2f}{:^10s}'.format('0007','微波炉','苏泊尔',480.5,'33'))
21 print('{:10s}{:10s}{:10s}{:<10.2f}{:^10s}'.format('0008','投影仪','松下',1250,'12'))
22 print('{:10s}{:10s}{:10s}{:<10.2f}{:^10s}'.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

程序源码:

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

运行结果截图:

 

二.实验总结:

1.了解并使用传统C风格,str.format()方式,f-string方式实现数据输出和格式控制

2.学会使用eval(),input(),print(),int(),float(),chr(),ord()等内置函数,了解unicode编码

3.使用python实现算术运算,学会导入数学库math并使用其内部工具

 

标签:%-,输出,初体验,end,format,Python,编程,print,10s
From: https://www.cnblogs.com/myf-/p/17189925.html

相关文章

  • 网络编程学习笔记
    视频链接【C/C++网络编程,从socket到epoll】https://www.bilibili.com/video/BV11Z4y157RY?vd_source=8d1ec00b45049370fe349649f1886a9a总的来说是偏应用性的视频分享,原理......
  • Python自动化登录验证码问题解决
     1.测试环境中通常解决验证码问题的方法 在测试环境中我们通常通过各种手段来逃避或者获得验证,而这些手段主要是要求开发者在开发的时候留有一定的后门。下面简述几种......
  • 利用Python实现批量获取端口Banner的工具
    主要用到的模块包括:Socket通讯模块threading多线程模块ipaddressip地址模块optparse命令行参数处理模块 importsocketimportsysimportopt......
  • python的基本认识
    python的基本认识 初识python:python是一种跨平台的、开源的、免费的、解释型的高级编程语言;python的应用领域十分广泛、如web编程、图像处理、黑客编程、网络爬虫和......
  • 实验1 python开发环境使用和编程初体验
    #task1_1.pyprint('hey,u')print('hey','u')x,y,z=1,2,3print(x,y,z)print('x=%d,y=%d,z=%d'%(x,y,z))print('x={},y={},z={}'.format(x,......
  • 并发编程BUG源头
    背景核心矛盾CPU/内存/IO设备的速度差异解决思路计算机体系结构——CPU增加了缓存,以均衡与内存的速度差异操作系统——操作系统增加了进程、线程,以分时复用CPU,进而......
  • python 提取列表元素打印不带中括号
    目录python提取列表元素打印不带中括号python提取列表元素打印不带中括号有个需求,需要对python3的列表切片,获取得到用户名后和手动输入的用户名比对,如果一致就打印true......
  • Python实战项目-9 Redis/celery-基础使用
    Redis介绍与安装Redis->缓存数据库【大部分时间用来做缓存,不仅仅可以做缓存】也是称为非关系型数据库,区别与Mysql关系型数据库-noSql:泛指非关系型数据库,notonlySql......
  • 1. python+Django开发前的程序环境搭建
    程序环境的搭建1.Python3.9的安装下载地址:https://www.python.org/downloads/,最好是下载安装版的。安装过程勾选环境变量为了使用pip下载器,在环境变量添加Pyth......
  • Python第六天
    append()在列表的末尾添加一个元素extend()在列表的末尾为至少添加一个元素insert()在列表的任意位置添加一个元素remove()一次删除一个元素,重复元素只删除第一个 pop()......