Python基础练习题
温度转换
说明: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))
个⼈所得税计算
描述
设计个⼈所得税采⽤“超额累进税率”计算⽅法,简化公式如下:
缴税 = (个⼈薪⾦扣险所得 – 个税免征额)* 税率 + 递进税额
其中,个税免征额为3500元,税率根据应纳税额数量⽽不同,如下表所⽰:
级别应纳税额区间税率
10-35000%
23500-40005%
34500-900015%
级别应纳税额区间税率
49000-3500020%
535000-5500025%
655000-8000035%
780000+45%
注意:“应纳税额”为:个⼈薪⾦扣险所得 – 个税免征额
例如,某⼈收⼊为4000,则个⼈所得税应为 (4000-3500)*0.05 + 0 = 25.00
某⼈收⼊为6000,则个⼈所得税应为(6000-4500)*0.15 + (4500-3500)*0.05 = 275.00
某⼈收⼊为10000,则个⼈所得税应为(10000-9000)*0.2 + (9000-4500)0.15 + 10000.05 = 925.00
某⼈收⼊为40000,则个⼈所得税应为(40000-35000)*0.25 + (35000-9000)*0.20 +(9000-4500)0.15 + 10000.05 = 7175.00
请编写⼀个程序根据⽤户输⼊计算个⼈所得税,⽤户输⼊是个⼈薪⾦扣险所得。约定⽤户输⼊为以⼈民币元为单位的整数。请保留2位⼩数输出。
输⼊
⽰例1:40000
输出
⽰例1: 7175.00
说明:条件分⽀
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))
鸡兔同笼
鸡兔同笼
描述
⼀个笼⼦⾥⾯关了若⼲只鸡和兔⼦(鸡有2只脚,兔⼦有4只脚,没有例外)。已经知道了笼⼦⾥脚的总数为a,则笼⼦⾥⾯⾄少有多少只动物,⾄多有多少只动物?
输⼊格式
第1⾏输⼊⼀个正整数n(n≤1000),表⽰测试数据的组数n,接下来n组测试数据每组⼀⾏,每⾏⼀个正整数a(a<32768)。提⽰: 输⼊使⽤input(),不要增加额外的提⽰信息 。
输出格式
输出包含n⾏,每⾏对应⼀个输⼊,包含两个正整数,第⼀个是最少的动物数,第⼆个是最多的动物数,两个正整数之间⽤⼀个空格分开。输出包含n⾏,每⾏对应⼀个输⼊,包含两个正整数,第⼀个是最少的动物数,第⼆个是最多的动物数,两个正整数之间⽤⼀个空格分开。如果没有满⾜要求的答案,则输出两个0。
说明:
克拉默法则(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!")
{a x +a x =b 1111221a x +a x =b 2111122(1)
x =1,x =D D 12D
D 2
,D ,D ,D 表⽰为12D =[a 11a 21a 12
a 22](2)
D =1[b 1b 2a 12
a 22](3)
D =2[a 12a 22b 1
b 2](4)
=[a 11a 21a 12
a 22]a a −1122a a 1221(5)
a =111,a =121
a =212,a =224python货币转换
b ,b 12
凯撒密码
描述
凯撒密码是古罗马凯撒⼤帝⽤来对军事情报进⾏加解密的算法,它采⽤了替换⽅法对信息中的每⼀个英⽂字符循环替换为字母表序列中该字符后⾯的第三个字符,即,字母表的对应关系如下:
原⽂:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密⽂:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
对于原⽂字符P,其密⽂字符C满⾜如下条件:C=(P+3) mod 26
上述是凯撒密码的加密⽅法,解密⽅法反之,即:P=(C-3) mod 26
假设⽤户可能使⽤的输⼊仅包含⼩写字母a~z和空格,请编写⼀个程序,对输⼊字符串进⾏凯撒密码加密,直接输出结果,其中空格不⽤进⾏加密处理。使⽤input()获得输⼊。
说明:字符串基操还不如⽤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)
三位⽔仙花数计算
描述
“3位⽔仙花数”是指⼀个三位整数,其各位数字的3次⽅和等于该数本⾝。例如:ABC是⼀个“3位⽔仙花数”,则:A的3次⽅+B的3次⽅+C的3次⽅ = ABC。
请按照从⼩到⼤的顺序输出所有的3位⽔仙花数,请⽤⼀个“逗号+空格”分隔输出结果。
注意:这是⼀个OJ题⽬,输出格式要严格⼀致,最后⼀位⽔仙花数后没有逗号。
输⼊
⽆
输出
⽰例:634, 412
(注意,这两个数字不是⽔仙花数)
说明:向下取整
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论