该题库是程序设计实习MOOC的python题库,一共94题的答案,建议先自己尝试再看答案,题目链接如下:OpenJudge - OpenJudge
http://cxsjsxmooc.openjudge.cn/book/
001:A+B问题
A=input()
B=A.split(' ',1)
print(int(B[0])+int(B[1]))
002:字符三角形
a=input()
A="{:^5}".format(a)
B="{0:>2}{1:<3}".format(a, a*2)
C="{:^5}".format(a*5)
print(A)
print(B)
print(C)
003:计算(a+b)*c的值
A=input()
B=A.split(' ',2)
print((int(B[0])+int(B[1]))*int(B[2]))
004:反向输出一个三位数
A=input()
print(A[::-1])
005:字符菱形
a=input()
A="{:^5}".format(a)
B="{0:>2}{1:<3}".format(a, a*2)
C="{:^5}".format(a*5)
print(A)
print(B)
print(C)
print(B)
print(A)
006:输出第二个整数
A=input()
B=A.split(' ',2)
print(B[1])
007:求三个数的和
A=input()
B=A.split(' ',2)
a1=float(B[0])
a2=float(B[1])
a3=float(B[2])
s=a1+a2+a3
if s==int(s):
C="{:.1f}".format(s)
print(C)
else:
print(s)
008:字符串交换
A=input()
B=input()
print(B[0]+B[1]+A[2]+A[3])
print(A[0]+A[1]+B[2]+B[3])
009:字符串中的整数求和
A=input()
B=A.split(' ',1)
C=B[0]
D=B[1]
print(int(C[0:2])+int(D[0:2]))
010:求(x+y)*x的值
A=input()
B=A.split(' ',1)
a1=float(B[0])
a2=float(B[1])
s=(a1+a2)*a1
print("{:.5f}".format(s))
011:奇偶数判断
A=int(input())
if A%2==0:
print('even')
else:
print('odd')
012:判断子串
A=input()
B=input()
if B.find(A)==-1:
print('NO')
else:
print('YES')
013:三角形判断
A=input()
B=A.split(' ',2)
a1=int(B[0])
a2=int(B[1])
a3=int(B[2])
if a1+a2>a3 and a1+a3>a2 and a2+a3>a1:
print('yes')
else:
print("no")
014:简单计算器
A=input()
B=A.split(' ',2)
a1=int(B[0])
a2=int(B[1])
a3=B[2]
if a3=='+':
print(a1+a2)
elif a3=='-':
print(a1-a2)
elif a3=='*':
print(a1*a2)
elif a3 == '/':
if a2==0:
print('Divided by zero!')
else:
print(a1//a2)
else:
print('Invalid operator!')
015:摄氏华氏温度转换
import decimal
A=input()
B=A[::-1]
a=A[0:len(A)-1]
x1=decimal.Decimal(a)
x2=decimal.Decimal('32')
x3=decimal.Decimal('1.8')
if B[0]=='F' or B[0]=='f':
d=(x1-x2)/x3
if int(d)==d:
e="{:^}".format(int(d))
else:
e="{:.2f}".format(d)
print(str(e)+'C')
else:
d=x1*x3+x2
if int(d)==d:
e="{:^}".format(int(d))
else:
e="{:.2f}".format(d)
print(str(e)+'F')
016:幸运的年份
A=int(input())
if (A-1949)%10==0:
print('Lucky year')
elif (A-1921)%10==0:
print('Good year')
elif A%400==0 or (A%4==0 and A%100>0):
print('Leap year')
elif A>0:
print('Common year')
else:
print('Illegal year')
017:计算2的幂
a=int(input())
print(2**a)
018:计算多项式的值
A=input()
B=A.split(' ',4)
x=float(B[0])
a=float(B[1])
b=float(B[2])
c=float(B[3])
d=float(B[4])
y=a*(x**3)+b*(x**2)+c*x+d
print("{:.7f}".format(y))
019:车牌限号
A=input()
B=A[::-1]
c=int(B[0])
if c%2==0:
print('NO')
else:
print('YES')
020:点和正方形的关系
A=input()
B=A.split(' ',1)
if abs(eval(B[0]))<=1 and abs(eval(B[1]))<=1:
print('yes')
else:
print('no')
021:计算邮资
import math
A=input()
B=A.split(' ',1)
if int(B[0])<=1000:
p=8
else:
a1=int(B[0])-1000
n=math.ceil(a1/500)
p=8+4*n
if B[1]=='y':
p+=5
print(p)
022:分段函数
A=input()
x=float(A)
y=(-x+2.5 if 0<=x<5 else
2-1.5*(x-3)*(x-3) if 5<=x<10 else
x/2-1.5)
print("{:.3f}".format(y))
023:大象喝水
import math
A=input()
B=A.split(' ',1)
a1=int(B[0])
a2=int(B[1])
V=3.14159*a1*a2*a2
n=math.ceil(20000/V)
print(n)
024:苹果和虫子2
import math
A=input()
B=A.split(' ',2)
a1=int(B[0])
a2=int(B[1])
a3=int(B[2])
n=math.ceil(a3/a2)
if a1-n>=0:
print(a1-n)
else:
print(0)
025:求一元二次方程的根
A=input()
B=A.split(' ',2)
a=float(B[0])
b=float(B[1])
c=float(B[2])
d=b*b-4*a*c
if d>0:
x1=(-b+d**0.5)/(2*a)
x2 =(-b-d ** 0.5) /(2*a)
X1=max(x1,x2)
X2=min(x1,x2)
print("x1={:.5f};x2={:.5f}".format(X1,X2))
elif d<0:
r=-b/(2*a)
x1 = (-d) ** 0.5/ (2 * a)
if -r==r:
r=0
print("x1={:.5f}+{:.5f}i;x2={:.5f}-{:.5f}i".format(r,x1,r,x1))
else:
r = -b / (2 * a)
print("x1=x2={:.5f}".format(r))
026:输入n个整数求和
a=0
n=input()
for i in range(int(n)):
a1=input()
b=int(a1)
a=b+a
print(a)
027:从小到大输出正整数n的因子
n=input()
a=[]
for i in range(int(n)):
if (int(n))%(i+1)==0:
print(i+1,end=' ')
028:多次求n个数的和
m=input()
for i in range(int(m)):
n=input()
a=0
for j in range(int(n)):
a1=input()
b=int(a1)
a=b+a
print(a)
029:字符直角三角形
A=input()
B=A.split(' ',2)
for i in range(int(B[1])):
print(B[0]*(i+1))
030:多少种和为因子的取法
A=input()
a=0
B=A.split(' ',1)
a1=int(B[0])
a2=int(B[1])
for i in range(a1):
for j in range(a1):
b1=i+1
b2=j+1
if a2/(b1+b2)>=1 and a2%(b1+b2)==0 and b1<b2:
print(b1,b2)
a+=1
print(a)
031:寻找子串
A=input()
B=input()
C=B.replace(' ','')
c=A.find(C)
print(c)
032:求最小公倍数
A=input()
B=A.split(' ',2)
a1=int(B[0])
a2=int(B[1])
a3=int(B[2])
n=a1*a2*a3
for i in range(n):
c=i+1
if c%a1==0 and c%a2==0 and c%a3==0:
print(c)
break
033:十进制数转二进制数
number = int(input())
binnum = bin(number)
if number>0:
print(binnum[2:])
elif number==0:
print(0)
else:
print('-'+binnum[3:])
034:求最大整数
# 输入若干行,每行若干整数,求所有整数的最大值
s=input().split()
maxV = eval(s[0])
try:
while True:
for x in s:
maxV = max(maxV, int(x))
s = input().split() # 输入数据已经没有了还执行input,会产生异常
except: # pycharm里Ctrl+D表示输入结束
pass # pass语句啥都不做,就是玩儿(你可以省略试试)
print(maxV)
035:求斐波那契数列第k项
A=int(input())
B=[0]*46
for i in range(A):
if i<=1:
B[i]=1
else:
B[i]=B[i-1]+B[i-2]
print(B[i])
036:求阶乘的和
import math
s=0
n = int(input())
for i in range(n):
a=math.factorial(i+1)
s=s+a
print(s)
037:求不大于n的全部质数
A=int(input())
if A>2:
for i in range(2,A+1):
for x in range(2,i):
if i%x==0:
break
else:
print(i,end=' ')
else:
print(2)
038:角谷猜想
n = int(input())
while n != 1:
if n % 2:
print(str(n)+'*3+1='+str(n*3+1))
n = n*3 + 1
else:
print(str(n)+'/2='+str(n//2))
n = n // 2
print('End')
039:数字统计
A=input()
B=A


3794

被折叠的 条评论
为什么被折叠?



