python编译程序输入上网时间并计算上网费用 计算方法_同济大学Python程序设计基础 实验三:选择结构...

这篇博客涵盖了Python编程的基础知识,包括解决一元二次方程、商品折扣计算、根据上网时间计算费用以及经典的鸡兔同笼问题。通过实例代码,详细解释了如何根据输入数据计算一元二次方程的根,根据消费金额给予不同折扣,计算上网费用,并确保不超过150元上限,以及如何按顺序显示输入的三个数和解决鸡兔同笼问题。所有解决方案都强调了条件判断和逻辑处理的重要性。
摘要由CSDN通过智能技术生成

实验三

第一题

1.求一元二次方程的根。

要求:输入一元二次方程的三个系数a、b、c,根据系数值,可得出如下三种根:

(1)△>0,两个实根

(2)△=0,重根,即相同根

(3)△<0,无实数根

输出两个实根x1和x2,若没有实根则输出信息:无实根。

代码片.

from math import sqrt

#这样引入的话在使用sqrt的时候就不需要写成math.sqrt了

a,b,c=eval(input("input a,b,c:"))

deta=b**2-4*a*c

if deta>0:

x1=(-b+sqrt(deta))/(2*a)

x2=(-b-sqrt(deta))/(2*a)

print('x1=',x1,',x2=',x2)

elif deta==0:

x=(-b+sqrt(deta))/(2*a)

print('x1=x2=',x)

else:

print('无实根')

第二题

在购买某物品时,若所花的的钱x在下述范围内,所付钱y按对应折扣支付:

3a08469e00a43de221c1e23ad5df72aa.png

提示:注意计算公式和条件表达式的正确书写。

代码片.

x=float(input('hwo much did you cost:'))

print('final money:',end=' ')

if x<1000:

print(x)

elif 1000<=x<2000:

print(0.9*x)

elif 2000<=x<3000:

print(0.8*x)

else:

print(0.7*x)

第三题

编一程序输入上网的时间计算上网费用,计算的方法如下:

34cf7c13bd3eb4809bd627e8e4039582.png

同时为了鼓励多上网,每月收费最多不超过150元。

提示:首先利用多分支if语句根据三个时间段算出费用;然后再用单分支If语句对超过时间段算出费用

代码片.

x=int(input('上网时间:'))

print("cost:",end=' ')

if x<10:

print('30')

elif 10<=x<50:

print(30+(x-10)*2.5)

else:

if 130+(x-50)*2>150:

print(150)

else:

print(130+(x-50)*2)

第四题

输入x,y,z三个数,按从小到大的次序显示,如图2.3.1所示:

f9bb65a5596290870df3c105ad3e12f8.png

代码片.

#这个题如果题目没说不能用函数那就直接用列表的sort函数

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

min=x

m=x

max=x

if y

min=y

if z

min=z

if y>max:

max=y

if z>max:

max=z

for i in (x,y,z):

print(i)

if i!=max and i!=min:

m=i

print(min,m,max)

第五题

利用计算机解决古代数学问题“鸡兔同笼问题”。即已知在同一笼子里有总数为M只鸡和兔,鸡和兔的总脚数为N只,求鸡和兔各有多少只?

提示:鸡、兔的只数通过已知输入的M,N列出方程可解,设鸡为x只,兔为y只,则计算公式为:

x+y=M

2x+4y=N

即:x=M-y

y=N/2-M

但不要求出荒唐的解(例3.5只鸡、-4只兔)。因此,对输入的数据要考虑下面两个条件:

①对输入的总脚数N必须是偶数,否则提示数据错的原因;

②若求出的头数为负数,提示数据错的原因。

代码片.

a,b=eval(input("请输入头的数量和腿的总数:"))

if b%2!=0:

print("总脚数必须是偶数!")

elif a<0:

print("头数不能小于0!")

else:

y=b/2-a

x=a-y

if x>=0 and y>=0 and int(x)==x and int(y)==y:

print('鸡有',x,"只,兔子有",y,"只")

else:

print("输入数据有误")

原文链接:https://blog.csdn.net/cjzui6666/article/details/112384126

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值