首页 > 编程语言 >Python学习笔记3

Python学习笔记3

时间:2022-09-27 13:13:09浏览次数:47  
标签:输出 Python float 样例 笔记 学习 int input 输入

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

相关文章

  • IPython的%魔术命令
    %magic显示所有魔术命令%hist 显示IPython命令的输入历史%pdb 异常发生后自动进入调试器%reset 删除当前命名空间中的全部变量或名称%who 显示IPython当前命......
  • 女同桌找我要表情包,还好我会Python,分分钟给她下载几十个G...
    emmm~起因呢,这昨晚女同桌跟我说电脑有点卡,喊我去宿舍给她装个新系统,装系统就装系统吧,结果又说新系统表情包都没保存~我当时就有点生气,真当我是万能的呢?于是我直接就用Py......
  • 【OpenLayers笔记】地图上显示html的覆盖物 - Overlay
    添加一个html覆盖层标签:  核心代码:map.on("click",function(event){map.addOverlay(newOverlay({//设定html元素的基准位置(默认左......
  • python使用paramiko实现ssh定时执行命令
    原文https://www.cnblogs.com/Rosaany/p/16093521.html#!/usr/bin/envpython3#-*-coding:utf-8-*-#@Author:Rosaanyimportfunctoolsfromparamiko.ssh_exce......
  • Python 安装
    进入Python官网选择安装包根据自己需要选择安装包,这里我选用的是Python3.10.7的完整安装包Windowsinstaller(64-bit),注意:embeddable:表示绿色免安装版本,可......
  • 关于多任务学习MTL的实现步骤记录
    拿任务来讲解:假设我目前已经有了一个目标检测功能,检测物体a,现在我想判断这个a是不是真实场景下的,需要对整图再加个判断,即二分类。这样的需求其实就是典型的多任务学习,即检......
  • 从0开始的Axure学习(一)Axure的界面知识
    前言:1.作为一个测试人员,有时候在日常的工作中也需要针对产品的布局进行界面化测试,需要合理,正确的判断。2.想通过测试作为开始逐渐往产品或交互工程师等进行变化3.学习新......
  • python时间加减
      运行结果:  ......
  • 【OpenLayers笔记】Feature选中交互
    map.addInteraction(newSelect({style:function(feature){feature.setStyle(newStyle({//选......
  • vue学习笔记(七):路由
    Vue是单页面的网页程序,只有一个页面,页面中的不同的部分会被替换成不同的组件的内容根据不同的浏览器路径替换不同的组件内容要建立路径和视图之间的关系,即是路由!静态导入,......