温度转换
说明:eval()使用
val = input ()
if val[0] in ['F','f']:
C = (eval(val[1:])-32)/1.8
print("C{:.2f}".format(C))
elif val[0] in ['C','c']:
F = 1.8*eval(val[1:])+32
print("F{:.2f}".format(F))
货币转换
说明:字符串基操
如图:
#Ratio = 6.78
Currency = input()
if Currency[-1] in 'D':
R = 6.78*(eval(Currency[:-3]))
print("{:.2f}RMB".format(R))
elif Currency[-1] in '$':
R = 6.78*(eval(Currency[:-1]))
print("{:.2f}¥".format(R))
elif Currency[-1] in 'B':
U = (eval(Currency[:-3]))/6.78
print("{:.2f}USD".format(U))
elif Currency[-1] in '¥':
U = (eval(Currency[:-1]))/6.78
print("{:.2f}$".format(U))
个人所得税计算
说明:条件分支
def pct(n):
return n/100
revenue = int(input())
threshold = 3500
tax_ratio = [pct(3),pct(10),pct(20),pct(25),pct(30),pct(35),pct(45)]
tax = 0
if revenue >3500:
tax_due = revenue-threshold
if tax_due < 1500:
tax = tax_due*tax_ratio[0]
elif tax_due<4500:
tax = tax_due*tax_ratio[1]
elif tax_due<9000:
tax = tax_due*tax_ratio[2]
elif tax_due<35000:
tax = tax_due*tax_ratio[3]
elif tax_due<55000:
tax = tax_due*tax_ratio[4]
elif tax_due<80000:
tax = tax_due*tax_ratio[5]
else:
tax = tax_due*tax_ratio[6]
else:
tax = 0
print(int(tax))
鸡兔同笼
说明:
克拉默法则(Cramer’s Rule)解二元线性方程组
对于二元线性方程组:
克拉默法则(Cramer’s Rule)解法如下:
方程组的解为:
其中行列式的:
行列式的计算为:
对于本题而言:
为题目输入
import math
a,b = input().split()
D = 2
D1 = 4*eval(a)-eval(b)
D2 = eval(b)-2*eval(a)
x1 = D1/D
x2 = D2/D
if x1-math.floor(x1) == 0 and x2-math.floor(x2) == 0:
print('%d %d'%(x1,x2))
else:
print("Data Error!")
凯撒密码
说明:字符串基操还不如用C/C++做……
letter = "abcdefghijklmnopqrstuvwxyz"
LETTER = letter.upper()
S = letter + letter + LETTER + LETTER
P = input("")
C = ""
for i in P:
if i.isalpha():
j = S.find(i)
if(j>-1):
C = C+S[j+3]
else:
C = C+i
print(C)
三位水仙花数计算
说明:向下取整
import math
list = []
for i in range(100, 1000):
x = math.floor(i / 100)
y = math.floor((i - x * 100) / 10)
z = i - math.floor(i / 10) * 10
if i == x ** 3 + y ** 3 + z ** 3:
list.append(str(i))
print(", ".join(tuple(list)))
完美立方
说明:暴力枚举
def cal_cube(base):
return base**3
n = int(input())
for a in range(2,n+1):
for b in range(2,a+1):
for c in range(b,a):
for d in range(c,a):
if cal_cube(a) == cal_cube(b)+cal_cube(c)+cal_cube(d):
print("Cube = %d,Tripe = (%d,%d,%d)" %(a,b,c,d))
鸡兔同笼++
说明:向上取整
import math
n = int(input())
for i in range(n):
a = int(input())
if a%2 == 1:
print('0 0')
else:
print("%d %d"%(math.ceil(a/4),a/2))