python顺序结构代码_顺序结构代码事例

【例3-2:】A 汽车从甲地开往乙地,以平均速度 45 公里

小时行驶,B汽车从乙地开往甲地,以平均速度 53公里/小时

行驶,两辆车行驶了 2小时 13分钟后相遇。编写程序,输入

A、B 的速度和行驶的时间,求甲乙两地相距多少公里?

va, vb = eval(input('输入A车和B 车的速度(以逗号隔开):')) # eval函数执行表达式,比如输入:45,53

h, m = eval(input('输入行驶时间:'))

time = h + m / 60 # 换算2小时13分是多少小时

s = time * (va + vb) # 计算A和B两辆汽车各行驶的距离,并求和

print('甲乙两地相距{:.2f}公里。'.format(s)) # 字符串format函数进行格式化

#print('甲乙两地相距%.2f公里。' % s) # 利用%进行格式化

#------------------------------------------------------

'''

输入A车和B 车的速度:45,53

输入行驶时间:2,13

甲乙两地相距217.23公里。

'''

【例 3-3:】解析几何中,求点(x,y)到直线 Ax+By+C=0 的距离公式是

point_to_line.jpg,编写程序输入点的坐标(x,y)值和直线方程的参数A、B、C 的值,求点到直线的距离。

#第一种写法

x, y = eval(input('x,y:'))# 输入0,1,或者输入(0,1)

a, b, c = eval(input('方程系数A,B,C:'))

s = abs(a * x + b * y + c) / ((a * a + b * b) ** (1/2))

print('点到直线的距离:{0:.5f}'.format(s))

#第二种写法

import math

x, y = eval(input('x,y:'))

a, b, c = eval(input('方程系数A,B,C:'))

s = abs(a * x + b * y + c) / math.sqrt(a * a + b * b)

print('点到直线的距离:{0:.5f}'.format(s))

#-------------------------------------------------------

'''

x,y:0,1

方程系数A,B,C:2,3,4

点到直线的距离:1.94145

'''

【例 3-4】从键盘输入一个 3位整数,计算该数中各位数字之和。例如,输入392,各

数字之和是 3 + 9 + 2 = 14。

#方法一:

x = input('请输入一个三位数:') # input函数返回字符串

x = int(x) # 将字符串转换为整形

a = x // 100 # 获取百位数,整除100

b = x // 10 % 10 # 获取十位数

c = x % 10 # 获取个位数, 对10求余数

print(a+b+c)

#print(c*100 + b*10 +a) #获得该数的逆序数

#方法二:

x = input('请输入一个三位数:')

x = int(x)

a, b = divmod(x, 100) # 返回一个包含商和余数的元组(a // b, a % b) a 得到百位数,b得到后两位数

b, c = divmod(b, 10) # b 得到十位数,c得到个位数

print(a+b+c)

#方法三:

x = input('请输入一个三位数:')

a, b, c = map(int, x) # 采用 map 函数依次得到百、十、个位数

print(a+b+c)

【例 3-5】从键盘输入一个 3位整数,将该整数转换为英文表达。例如,输入392,输

出 three hundred and ninety two。

x = input('请输入一个三位数:')

a, b, c = map(int, x) #分离出百位a、十位b、个位c

#通过列表以及下标对应获取相应在英文,下标0代表第一个元素

eng1=['zero','one','two','three','four','five','six',\

'seven','eight','nine']

eng2=['zero','ten','twenty','thirty','forty','fifty',\

'sixty','seventy','eighty','ninety']

print('{} hundred and {}-{}'.format(eng1[a],eng2[b],eng1[c])) #3位固定格式

#--------------------------------------------------------------------------

'''

请输入一个三位数:678

six hundred and seventy-eight

'''

完成课后练习编程题

11.编写程序,实现从键盘输入学生的平时成绩、期中成绩、期末成绩,计算学生的学期总

成绩。学生的学期总成绩=平时成绩*15%+期中成绩*25%+期末成绩*60%。

12.编写程序,从键盘输入一个 3位整数,计算该数的逆序数。例如,输入 392,输出 293。

13.对于一元二次方程 ax2+bx+c=0,输入其三个系数 a、b、c,输出方程的根。注:Python

有复数类型,且可以用sqrt()直接求得复数结果。

14.有 4 个进水管(A、B、C、D)可以往水箱里注水,如果单开 A,则 a 小时注满;如果

单开 B,则 b小时可以注满;如果单开 C,则 c小时注满;如果单开 D,则d 小时可以注

满。编写程序,输入 a、 b、c、 d 的值,计算 4个水管同时注水,注满水箱需要多少小时?

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值