0
点赞
收藏
分享

微信扫一扫

Python_2


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<WalkTime:
print("Bike",end="")
elif BikeTime==WalkTime:
print("All",end="")

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

:
在同一行输入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 = 29
else:
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 = 29
else:
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='')

总结

  • 条件语句

if  xxx:
x
elif yyy:

  • 多个输入

# 10,4,9
n,x,y=eval(input())

# 3 4 5
x,y,z=map(int,input().split())

  • 结尾无空行

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


举报

相关推荐

0 条评论