实验1 python初体验

# task1-1

# 用法1
print('hey, u')

# 用法2
print('hey', 'u')
x, y, z = 1, 2, 3
print(x, y, z)

# 用法3
print('x = %d, y = %d, z = %d' %(x, y, z))    # 传统c风格
print('x = {}, y = {}, z = {}'.format(x, y, z))    # s.format()方法
print(f'x = {x}, y = {y}, z = {z}')    # f-stirng方式

# 输出后是否换行
print(x)    # 默认输出后换一行
print(y)
print(z)

print(x, end=' ')    # 输出后不换行;通过end指定数据项之间的分隔符
print(y, end=' ')
print(z)

# task1-2

# 使用字符串的format()方法,对输出数据项进行格式化

x1, y1 = 1.2, 3.57
x2, y2 = 2.26, 8.7

# 输出1
print('{:-^40}'.format('输出1'))    # {:-^40}控制输出格式:宽度占40列,居中对齐,空白处用-补齐
print('x1 = {}, y1 = {}'.format(x1, y1))
print('x2 = {}, y2 = {}'.format(x2, y2))

# 输出2
print('{:-^40}'.format('输出2'))
print('x1 = {:.1f}, y1 = {:.1f}'.format(x1, y1))    # {:.1f}控制小数输出精度,保留一位小数
print('x2 = {:.1f}, y2 = {:.1f}'.format(x2, y2))

# 输出3
print('{:-^40}'.format('输出3'))
print('x1 = {:<15.1f}, y1 = {:<15.1f}'.format(x1,y1))    # {:<15.1f}控制数据输出宽度占15列,小数部分占1列,左对齐,空白处默认补空格
print('x2 = {:<15.1f}, y2 = {:<15.1f}'.format(x2,y2))

# 输出4
print('{:-^40}'.format('输出4'))    # {:-^40}控制输出格式:宽度占40列,居中对齐,空白处用-补齐
print('x1 = {:>15.1f}, y1 = {:>15.1f}'.format(x1,y1))    # {:<15.1f}控制数据输出宽度占15列,小数部分占1列,左对齐,空白处默认补空格
print('x2 = {:>15.1f}, y2 = {:>15.1f}'.format(x2,y2))

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

name1, age1 = 'Bill', 19
name2, age2 = 'Hellen', 18
title = 'Personal Information'

print(f'{title:=^40}')
print(f'name: {name1:10} age: {age1:3}')
print(f'name: {name2:10} age: {age2:3}')
print(40*'=')

 print()用法总结:输出单个或多个数据项,变量,字符串;通过end和format()格式化输出。

 

 

task2 and task3

# eval: 把字符串转化为python表达式,相当于把圆括号里的引号去掉
r1 = eval('1+2')
print(type(r1), r1)

r2 = eval('1+2j')
print(type(r2), r2)

r3 = eval('"python"')
print(type(r3), r3)

r4 = eval('7, 42')
print(type(r4), r4)


x, y = eval(input('enter two operands:  '))
ans = x + y

print(f'{x} + {y} = {ans}')
print(f'{type(x)} + {type(y)} = {type(ans)}')

ans1 = 0.1 + 0.2
print(f'o.1 + 0.2 = {ans1}')

import decimal

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

这一张是task3的运行截图。第一个输出结果存在误差的原因是二进制01无法准确表示某些带小数的十进制数字。

task2总结:eval()用于将字符串转化为python表达式,相当于去掉()中两侧的引号去掉。

 

 

task4

# chr()返回unicode编码对应的字符

print(chr(0x1f600), end=" ")
print(chr(0x1f601), end=" ")
print(chr(0x1f602), end=" ")
print(chr(0x1f603), end=" ")
print(chr(0x1f604))

print(chr(10000), end=" ")
print(chr(0x025b), end=" ")
print(chr(0x2708), end=" ")
print(chr(0x00A5), end=" ")
print(chr(0x266b))

# ord()返回字符的unicode编码
print(ord('a'), end=" ")
print(ord('b'), end=" ")
print(ord('c'))

print(ord('A'), end=" ")
print(ord('B'), end=" ")
print(ord('C'))

print(ord('0'), end=" ")

print(ord('1'), end=" ")
print(ord('2'))

总结:chr(unicode编码) = 对应字符     ord('字符’) = 对应的unicode编码

 

 

task5

import math

n = float(input('输入一个数:'))
# python中三种开平方的方式
ans1 = n**0.5
ans2 = pow(n, 0.5)
ans3 = math.sqrt(n)

print('%.2f的平方根是:%.2f' % (n, ans1))  # 传统风方式(%)
print('{:.2f}的平方根是:{:.2f}'.format(n, ans2))  # string.format方式
print(f'{n:.2f}的平方根是:{ans3:.2f}')  # f-string方式

import math

text = '''
        好奇心是人的天性。
        理想情况下,学习新东西是让人愉快的事。
        但学校里的学习似乎有点像苦役。
        有时候,需要画一个大饼,每次尝试学一点新鲜的,才会每天变得更好一点点。
        '''
print(text)

r = float(input('给学习画一个大饼,大饼要做的很大,半径要这么大:'))

circle = 2*math.pi*r

print(f'绕起来,大饼的圆周有这么长,{circle},够不够激发你探索未知的动力...')

 

 

task6

x = float(input('enter a number:'))
y = pow(x, 365)
print(f'{x}的365次方:{y}')

 

 

 

task7

import math
ρ = 1.038
c = 3.7
K = 5.4 * 1e-3
M = 67
Tw = 100
Ty = 70
To = int(input('enter a number: '))
t = (M ** (2 / 3) * c * ρ ** (1 / 3)) / (K * math.pi ** 2 * (4 * math.pi / 3) ** (2 / 3)) * math.log(0.76 * (To - Tw) / (Ty - Tw))
min = t // 60
s = int((t % 60) + 0.5)
print(f'To = {To}℃, t = {min}分{s}秒 ')

 

 

task8

"""
家用电器销售系统
v1.0
"""

#欢迎信息
print('欢迎使用家用电器销售系统!')
#产品信息列表
print('产品和价格信息如下:')
print('********************************************※※***********')
print('%-10s'%'编号','%-10s'%'名称','%-10s'%'品牌','%-10s'%'价格','%-10s'%'库存数量')
print('---------------------------------------------------------------------')
print('%-10s'%'0001','%-10s'%'电视机','%-10s'%'海尔','%-10.2f'%5999.00,'%10d'%20)
print('%-10s'%'0002','%-10s'%'冰箱','%-10s'%'西门子','%-10.2f'%6998.00,'%10d'%15)
print('%-10s'%'0003','%-10s'%'洗衣机','%-10s'%'小天鹅','%-10.2f'%1999.00,'%10d'%10)
print('%-10s'%'0004','%-10s'%'空调','%-10s'%'格力','%-10.2f'%3900.00,'%10d'%0)
print('%-10s'%'0005','%-10s'%'热水器','%-10s'%'美的','%-10.2f'%688.00,'%10d'%30)
print('%-10s'%'0006','%-10s'%'笔记本','%-10s'%'联想','%-10.2f'%5699.00,'%10d'%10)
print('%-10s'%'0007','%-10s'%'微波炉','%-10s'%'苏泊尔','%-10.2f'%480.00,'%10d'%33)
print('%-10s'%'0008','%-10s'%'投影仪','%-10s'%'松下','%-10.2f'%1250.00,'%10d'%12)
print('%-10s'%'0009','%-10s'%'吸尘器','%-10s'%'飞利浦','%-10.2f'%999.00,'%10d'%9)
print('-----------------------------------------------------------------------')



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

#计算金额
print('购买成功,您需要支付',price * count,'')
#退出系统
print("谢谢您的光临,下次再见!")

"""
家用电器销售系统
v1.0
"""

#欢迎信息
print('欢迎使用家用电器销售系统!')
#产品信息列表
print('产品和价格信息如下:')
print('********************************************※※***********')
print('---------------------------------------------------------------------')
print('{:<10}'.format('编号'),'{:<10}'.format('名称'),'{:<10}'.format('品牌'),'{:<10}'.format('价格'),'{:<10}'.format('库存数量'))
print('{:<10}'.format('0001'),'{:<10}'.format('电视机'),'{:<10}'.format('海尔'),'{:<10.2f}'.format(5999.00),'{:>10}'.format(20))
print('{:<10}'.format('0002'),'{:<10}'.format('冰箱'),'{:<10}'.format('西门子'),'{:<10.2f}'.format(6998.00),'{:>10}'.format(15))
print('{:<10}'.format('0003'),'{:<10}'.format('洗衣机'),'{:<10}'.format('小天鹅'),'{:<10.2f}'.format(1999.00),'{:>10}'.format(10))
print('{:<10}'.format('0004'),'{:<10}'.format('空调'),'{:<10}'.format('格力'),'{:<10.2f}'.format(3900.00),'{:>10}'.format(0))
print('{:<10}'.format('0005'),'{:<10}'.format('热水器'),'{:<10}'.format('美的'),'{:<10.2f}'.format(688.00),'{:>10}'.format(30))
print('{:<10}'.format('0006'),'{:<10}'.format('笔记本'),'{:<10}'.format('联想'),'{:<10.2f}'.format(5699.00),'{:>10}'.format(10))
print('{:<10}'.format('0007'),'{:<10}'.format('微波炉'),'{:<10}'.format('苏泊尔'),'{:<10.2f}'.format(480.50),'{:>10}'.format(33))
print('{:<10}'.format('0008'),'{:<10}'.format('投影仪'),'{:<10}'.format('松下'),'{:<10.2f}'.format(1250.00),'{:>10}'.format(12))
print('{:<10}'.format('0009'),'{:<10}'.format('吸尘器'),'{:<10}'.format('飞利浦'),'{:<10.2f}'.format(999.00),'{:>10}'.format(9))



print('-----------------------------------------------------------------------')



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

#计算金额
print('购买成功,您需要支付',price * count,'')
#退出系统
print("谢谢您的光临,下次再见!")

 

posted @ 2023-03-14 23:15  苗志恒  阅读(100)  评论(0)    收藏  举报