栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python

python_2

  • 知识
  • 习题
    • 7-1 人民币与美元汇率兑换程序 (10 分)
    • 7-2 骑车还是走路? (15 分)
    • 7-3 虫子吃苹果 (10 分)
    • 7-4 直角三角形面积 (10 分)
    • 7-5 昨天 (10 分)
    • 7-6 sdut-sel-10 直角坐标系象限判断 (10 分)
    • 7-7 sdut-分段计算居民水费 (10 分)
    • 7-8 印第安男孩 - 实验4 条件与分支 -《Python编程实验》 (10 分)
    • 7-10 象限判定 - 实验4 条件与分支 -《Python编程实验》 (10 分)
  • 总结

知识

习题

7-1 人民币与美元汇率兑换程序 (10 分)

设计人民币与美元汇率兑换程序,按照1美元=7人民币的汇率 编写一个双向兑换程序。

输入格式:
输入美元或者人民币的金额,币种在前,金额在后,如:$20、¥100。每次输入一个金额。

输出格式:
输出经过汇率计算的美元或人民币的金额,格式与输入一样,结果保留两位小数。

输入样例1:
$20
结尾无空行
输出样例1:
¥140.00
结尾无空行
输入样例2:
¥100
结尾无空行
输出样例2:
$14.29
结尾无空行
输入样例3:
#120
结尾无空行
输出样例3:
输入格式错误
结尾无空行

仅供参考

str=input()
ch=str[0]
list=list(str)
list.pop(0)
sep=""
str1=sep.join(list)
num=eval(str1)
if(ch=='$'):
    n=num*7
    print("¥%.2f"%n,end="")
elif(ch=='¥'):
    n=num/7
    print("$%.2f"%n,end="")
else:
    print("输入格式错误",sep='')

7-2 骑车还是走路? (15 分)

在校园里,没有自行车,上课办事会很不方便。但实际上,并非去办任何事情都是骑车快。因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间。假设找到自行车,开锁并骑上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米。 编写程序判断走不同的距离去办事,是骑车快还是走路快。

输入格式:
输入一个数,表示距离

输出格式:
如果输入的距离骑车快,输出"Bike";如果是走路快,输出"Walk";如果一样快,输出"All"。

输入样例:
120
结尾无空行
输出样例:
Bike
结尾无空行

仅供参考

s=eval (input())
BikeTime=27+23+s/3.0
WalkTime=s/1.2
if BikeTime>WalkTime:
    print("Walk",end="")
elif BikeTime 

7-3 虫子吃苹果 (10 分)

你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果? 编写程序进行计算。

输入格式:
在同一行输入n、x和y,以逗号隔开

输出格式:
还剩下完整的苹果个数

输入样例:
以下输入表示:一箱10个苹果,虫子每4个小时吃一个苹果,经过9小时

10,4,9
结尾无空行
输出样例:
以下输出表示:还剩下几个完整的苹果?

7
结尾无空行

仅供参考

n,x,y=eval(input())
s1=y//x
s2=y/x
if s1!=s2:
    s1+=1
y=n-s1
print(y,end="")

7-4 直角三角形面积 (10 分)

已知直角三角形的三边长,求该直角三角形的面积。

输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组数据输入3个整数a,b,c,代表直角三角形的三边长。

输出格式:
对于每组测试输出一行,包含一个整数,表示直角三角形面积。

输入样例:
2
3 4 5
3 5 4
输出样例:
6
6

仅供参考

n=eval(input())
S=[]
for j in range(n):
    s=1
    x,y,z=map(int,input().split())
    if x>y and x>z:
        s=int(y*z/2)
    elif y>x and y>z:
        s=int(x*z/2)
    elif z>x and z>y:
        s=int(x*y/2)
    S.append(s)



for i in S:
    # if i==S[-1]:
    #     print(i,end='')
    # else :
        print(i)

7-5 昨天 (10 分)

小明喜欢上了日期的计算。这次他要做的是日期的减1天操作,即求在输入日期的基础上减去1天后的结果日期。 例如:日期为2019-10-01,减去1天,则结果日期为2019-09-30。

输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入1个日期,日期形式为“yyyy-mm-dd”。保证输入的日期合法,而且输入的日期和计算结果都在[1000-01-01,9999-12-31]范围内。

输出格式:
对于每组测试,在一行上以“yyyy-mm-dd”的形式输出结果。

输入样例:
1
2019-10-01
输出样例:
2019-09-30

仅供参考
可以通过的简介代码,日期不合法的情况没有考虑

T = eval(input())

for i in range(T):
    str = input()
    list = str.split(sep='-')
    y = int(list[0])
    m = int(list[1])
    d = int(list[2])

    r = 0
    #判断是否闰年
    if ((y % 4 == 0 and y % 100 != 0) or y % 400 == 0):
        r = 1

    d -= 1
    # 跨月
    if d == 0:
        m -= 1
        if m > 0 and m < 7:
            if m % 2 == 1:
                d = 31
            else:
                if m == 2:if r == 1: d = 29else: d = 28
                else:d = 30

        else:
            if m % 2 == 0:
                d = 31
            else:
                d = 30
        # 跨年
        if m==0:
            m=12
            y-=1

    print("%d-%02d-%02d"%(y,m,d))


完整代码,考虑日期不合法的情况

T = eval(input())

for i in range(T):
    str = input()
    list = str.split(sep='-')
    y = int(list[0])
    m = int(list[1])
    d = int(list[2])

    if y<1000 or y>9999 or m<1 or m>12 or d<1 or d>31:
        print("日期不合法")
        break

    r = 0
    #判断是否闰年
    if ((y % 4 == 0 and y % 100 != 0) or y % 400 == 0):
        r = 1

    if m > 0 and m < 7:
        if m % 2 == 0:
            if d>30:
                print("日期不合法")
                break
            if m == 2:
                if r == 1:if d>29: print("日期不合法") break
                else:if d>28: print("日期不合法") break
    else:
        if m % 2 == 1:
            if d>30:
                print("日期不合法")
                break

    # 昨天
    d -= 1
    # 跨月
    if d == 0:
        m -= 1
        if m > 0 and m < 7:
            if m % 2 == 1:
                d = 31
            else:
                if m == 2:if r == 1: d = 29else: d = 28
                else:d = 30

        else:
            if m % 2 == 0:
                d = 31
            else:
                d = 30
        # 跨年
        if m==0:
            m=12
            y-=1

    print("%d-%02d-%02d"%(y,m,d))


7-6 sdut-sel-10 直角坐标系象限判断 (10 分)

X是一个喜欢数学的小孩,现在刚刚学了坐标系。象限划分示意图如下:



他想知道点(X,Y)在第几象限内。输入数据保证点不在坐标轴及原点上。

输入格式:
多组输入。

每组输入两个整数X,Y,代表点(X,Y),中间用空格隔开。

输出格式:
输出一个整数代表点在第几象限内。

输入样例:
在这里给出一组输入。例如:

2 3
-2 -3
输出样例:
在这里给出相应的输出。例如:

1
3
结尾无空行

仅供参考

n=[]
while True:
    try:
        x,y=map(int,input().split())
        if x>0:
            if y>0:
                n.append(1)
            elif y<0:
                n.append(4)

        elif x<0:
            if y>0:
                n.append(2)
            elif y<0:
                n.append(3)
    except:
        break

for i in range(len(n)):
    if i==len(n)-1:
        print(n[i],end='')
    else :
        print(n[i])

7-7 sdut-分段计算居民水费 (10 分)

为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)相关,请编写程序实现水费的计算。

(1)当x不超过15吨时,y=4x/3;

(2)超过后,y=2.5x−17.5。

输入格式:
在一行中给出非负实数x。

输出格式:
在一行输出应交的水费,精确到小数点后2位。

输入样例1:
12
结尾无空行
输出样例1:
16.00
结尾无空行
输入样例2:
16
结尾无空行
输出样例2:
22.50
结尾无空行

仅供参考

x=eval(input())
if x<=15:
    y=4*x/3
else:
    y=2.5*x-17.5
print("%.2f"%y,end='')

7-8 印第安男孩 - 实验4 条件与分支 -《Python编程实验》 (10 分)

朵拉编程的时候也想顺便练习英语。她编程从键盘读入一个整数n,如果n值为0或者1,向屏幕输出“0 indian boy.”或“1 indian boy.”;如果n大于1,比如9,则输出“9 indian boys.”。请你也编一个这样的程序。

输入格式:
整数n

输出格式:
见题干描述

输入样例:
9
结尾无空行
输出样例:
9 indian boys.
结尾无空行

仅供参考

n=eval(input())
if n==0 or n==1:
    print(n,"indian boy.",sep=" ",end="")
else:
    print(n,"indian boys.",sep=" ",end="")

7-9 超速罚款 - 实验4 条件与分支 -《Python编程实验》 (10 分)
开车超速是要罚款的,某国相应法律如下: 


情况					处罚
车速 ≤ 限速			程序输出:未超速
超速比 ≤ 10%			程序输出:超速警告
10% <超速比≤ 20%		程序输出:罚款100元
20% <超速比≤ 50%		程序输出:罚款500元
50% <超速比≤ 100%	程序输出:罚款1000元
超速比 > 100%		程序输出:罚款2000元

请编写程序,程序从输入的第1行读取车速(整数),从输入的第2行读取限速值(整数),然后使用条件分支语句进行判断,输出如表所示的处罚结论。

输入格式:
车速
限速值

输出格式:
如表所示的处罚结论

输入样例:
149
100
结尾无空行
输出样例:
罚款500元
结尾无空行

仅供参考

v=eval(input())
vl=eval(input())
if v<=vl:
    print("未超速")
else:
    b=(v-vl)/vl
    if b<=0.1:
        print("超速警告",end='')
    elif b<=0.2:
        print("罚款100元",end='')
    elif b<=0.5:
        print("罚款500元",end='')
    elif b<=1:
        print("罚款1000元",end='')
    elif b>1:
        print("罚款2000元",end='')

7-10 象限判定 - 实验4 条件与分支 -《Python编程实验》 (10 分)

45.png [平面坐标系象限图]

请编程实现下述功能:

使用代码x,y = eval(input())从键盘读入不为零的两个坐标值(浮点数);注意两个坐标值应使用英文逗号分隔;
结合上图,判定点(x,y)所在的象限。
说明:程序约定x和y值不为0。

输入格式:
x,y

输出格式:
第1象限 或 第2象限 或 第3象限 或 第4象限

输入样例:
15.2,-11.3
结尾无空行
输出样例:
第4象限
结尾无空行

仅供参考

x,y = eval(input())
if x>0:
    if y>0:
        n=1
    elif y<0:
        n=4

elif x<0:
    if y>0:
        n=2
    elif y<0:
        n=3
print("第"+str(n)+"象限",end='')

总结

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/268359.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号