problem 1
方程\(ax2+bx+c=0\),输入\(a,b,c\)的值,根据\(a,b,c\)的值判断不同的输出情况情况,判断并输出结果
“有两个根\(x1= ?\) ,\(x2=?\)”;“有一个根\(x=?\)”;“没有根”。保留\(6\)位小数。
输入样例:
1
4
2
输出样例:
有两个根x1=-0.585786,x2=-3.414214
解题思路:额,初中数学,直接看代码注释吧。
代码:
a=float(input())
b=float(input())
c=float(input())
from math import *
if a==0 and b==0:
print("没有根") # a和b都是0,当然没有解
elif abs(b**2-4*a*c-0)<=1e-9 or a==0: # △是0或者a是0都是一个解,这里用了一个绝对值判断△是不是0,因为计算过程中可能会有精度损失的问题,不知道这个题目是否需要,但这样做是一个好习惯,一定不会错,防止精度损失
if a==0 :
print(f'有一个根x={"%0.6lf" % (-c/b)}') # a=0直接输出(-c/b)
else :
print(f'有一个根x={"%0.6lf" % ((-b)/(2*a))}') # 否则按公式来
elif b**2-4*a*c<0 : # △小于0无实根解(但有虚根,这题没提到就算了)
print("没有根")
else :
print(f'有两个根x1={"%0.6lf" % ((-b+sqrt(b**2-4*a*c))/(2*a))},x2={"%0.6lf" % ((-b-sqrt(b**2-4*a*c))/(2*a))}') # 两个根
problme 2
用户从键盘输入一年号后,然后由程序判断是否是闰年。如果是闰年输出\(yes\),否则输出\(no\)
(闰年的规则是\(4\)年一闰,百年不闰,\(400\)年再闰,即能被\(4\)但是不能被\(100\)整除的年号是闰年,
能被\(400\)整除的也是闰年)。
输入样例:
2018
输出样例:
no
解题思路:这题挺水的,其实就是考察了一个\(if\)语句的运用,没啥好说的。
代码:
n=int(input())
if n%4==0 :
if n%400==0 :
print("yes")
elif n%100!=0 :
print("yes")
else :
print("no")
else :
print("no")
problem 3
用户输入一个数字和一个字母组成的座位号,根据字母判断位置是窗口、中间还是过道。目前中国高铁和国内飞机窗口位置的字母是\(“A”\)和\(“F”\),过道位置是\(“C”\)和\(“D”\),
中间位置是\(“B”\)(没有\(“E”\))。每个车厢座位排数是\(1~17\),输入时不区分字母大小写。根据输入判定座位的位置,当输入的数据不是一个合法的座位号时,输出“座位号不存在”。
提示:假设输入数据为:\(16F\),为了获得\(F\),可使用以下方法:
ticket = input() #输入座号,如16F
row = int(ticket[:-1]) #获取座位行号
pos = ticket[-1].lower() #获取座位的字母,并转为小写
输入样例:
15A
输出样例:
窗口
解题思路:运用一下题目中给的两个取整数部分和转化小数部分的函数就可以轻松解决这道题了,其实就算题目中不给出,自己也可以通过百度找到的,养成自己搜索的习惯,现学现用,编程是这样的。
代码:
s=input()
row=int(s[:-1])
pos=s[-1].lower()
if 2<=row<=17 :
if 'a' in pos or 'f' in pos :
print("窗口")
elif 'c' in pos or 'd' in pos :
print("过道")
elif 'b' in pos :
print("中间")
else :
print("座位号不存在")
else :
print("座位号不存在")
problem 4
鸡兔同笼问题。若干只鸡和兔子同在一个笼子里,从上面数有\(35\)个头,从下面数有\(94\)只脚。问:笼子中各有多少只鸡和兔?
请编写一个程序,在同一行里输入\(2\)个整数,代表头和脚的数量。编程计算笼子中各有多少只鸡和兔?
若无解则输出“data error”。
输入样例:
10 26
输出样例:
有7只鸡,3只兔
解题思路:思路很简单,解方程大家小学就会,这题关键的是学习一个输入,带空格的输入,就是用函数map(int,input().split()),多少个变量都可以,其实很好解释,map是映射,int是类型,split是分开输入,也就是那个空格,intput().split()就是带空格的输入,然后用map映射成int类型就可以了,很好理解,还是一样的,这些东西百度一搜都可以查到的,没必要非要等别人告诉你。
代码:
h,t=map(int,input().split())
x=int((t-2*h)/2)
y=int(h-(t-2*h)/2)
if t%2!=0 or x<0 or y<0 :
print("data error")
else :
print(f'有{y}只鸡,{x}只兔')
problem 5
个人所得税计算器。题目内容参考实验教材P42。
注意:1)后台要求\(input()\)中不能有提示,如\(input('请输入数据:')\),后台会判错。
2)要考虑输入数据为负数的情况,\(3\)个输入数据中任何一个为负,输出均为:\(error\)
输入样例:
4500
200
5000
输出样例:
应缴税款0.00元,实发工资4300.00元。
解题思路:这题目需要的只是静心而已,有耐心一点,一条一条列出来就可以了,难度不难,\(a<=c\)和\(0\)的情况特判一下就可以。
代码:
a=float(input())
b=float(input())
c=float(input())
o=a-b-c
if a<0 or b<0 or c<0 :
print("error")
elif a<=c :
print(f'应缴税款0.00元,实发工资{"%0.2lf" % (a-b)}元。')
else :
if o<=3000 :
print(f'应缴税款{"%0.2lf" % (o*0.03)}元,实发工资{"%0.2lf" % (a-b-o*0.03)}元。')
elif 3000<o<=12000 :
print(f'应缴税款{"%0.2lf" % (o*0.1-210)}元,实发工资{"%0.2lf" % (a-b-(o*0.1-210))}元。')
elif 12000<o<=25000 :
print(f'应缴税款{"%0.2lf" % (o*0.2-1410)}元,实发工资{"%0.2lf" % (a-b-(o*0.2-1410))}元。')
elif 25000<o<=35000 :
print(f'应缴税款{"%0.2lf" % (o*0.25-2660)}元,实发工资{"%0.2lf" % (a-b-(o*0.25-2660))}元。')
elif 35000<o<=55000 :
print(f'应缴税款{"%0.2lf" % (o*0.3-4410)}元,实发工资{"%0.2lf" % (a-b-(o*0.3-4410))}元。')
elif 55000<o<=80000 :
print(f'应缴税款{"%0.2lf" % (o*0.35-7160)}元,实发工资{"%0.2lf" % (a-b-(o*0.35-7160))}元。')
else :
print(f'应缴税款{"%0.2lf" % (o*0.45-15160)}元,实发工资{"%0.2lf" % (a-b-(o*0.45-15160))}元。')
标签:输出,Python,float,样例,笔记,学习,int,input,输入
From: https://www.cnblogs.com/grcyh/p/16734224.html