温度转换

说明: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))

货币转换

说明:字符串基操
如图:
Python基础练习题

#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)解二元线性方程组
对于二元线性方程组:
(1){a11x1+a12x2=b1a21x1+a11x2=b2\begin{cases} a_{11}x_1+a_{12}x_2=b_1\\ a_{21}x_1+a_{11}x_2=b_2\\ \end{cases}\tag{1}
克拉默法则(Cramer’s Rule)解法如下:
方程组的解为:
x1=D1D,x2=D2D x_1 = \frac{D_1}{D} , x_2 = \frac{D_2}{D}
其中行列式的,D,D1,D2,D,D_1,D_2表示为
(2)D=[a11a12a21a22] D=\begin{bmatrix} {a_{11}}&amp;{a_{12}}\\ {a_{21}}&amp;{a_{22}}\\ \end{bmatrix}\tag{2}
(3)D1=[b1a12b2a22] D_1=\begin{bmatrix} {b_1}&amp;{a_{12}}\\ {b_2}&amp;{a_{22}}\\ \end{bmatrix}\tag{3}
(4)D2=[a12b1a22b2] D_2=\begin{bmatrix} {a_{12}}&amp;{b_1}\\ {a_{22}}&amp;{b_2}\\ \end{bmatrix}\tag{4}
行列式的计算为:
(5)[a11a12a21a22]=a11a22a12a21 \begin{bmatrix} {a_{11}}&amp;{a_{12}}\\ {a_{21}}&amp;{a_{22}}\\ \end{bmatrix} = a_{11}a_{22}-a_{12}a_{21}\tag{5}
对于本题而言:
a11=1,a12=1a_{11} = 1, a_{12} = 1
a21=2,a22=4a_{21} = 2, a_{22} = 4
b1,b2b_1,b_2为题目输入

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))

相关文章: