描述
1-1/2+2/3-3/5+4/8-5/13+…的前n项和,n由用户输入(n>0),结果用str.format()方法保留小数点后6位数字输出。
输入格式
一个正整数
输出格式
前n项的和
演示 | 输入 | 输出 |
---|---|---|
示例 1 | 12 | 0.828448 |
flag = sum = fenzi = fenmu_1 = fenmu_2 = 1
for i in range(eval(input()) - 1):
flag = -flag
fenmu = fenmu_1 + fenmu_2
end = flag * (fenzi / fenmu)
sum = sum + end
fenmu_1 = fenmu_2
fenmu_2 = fenmu
fenzi = fenzi + 1
print('{:.6f}'.format(sum))
描述
现有数列:1,2,3,4,……,n,计算并输出其前n项的平方和,即求:
1×1+2×2+3×3+……+n×n的和。
输入
输入一个正整数 n
输出
数列前n项的平方和
演示 | 输入 | 输出 |
---|---|---|
示例 1 | 3 | 14 |
方法一:
num = int(input())
sum = 0
for i in range(1, num+1):
sum = sum + i ** 2
print(sum)
方法二:
print(sum([i ** 2 for i in range(1, eval(input()) + 1)]))
描述
编写一个学生成绩转换程序,用户输入百分制的学生成绩,成绩大于或等于90且小于或等于100的输出为“A”,成绩大于或等于80且小于90的输出为“B”,成绩大于或等于70且小于80的输出为“C”,成绩大于或等于60且小于70的输出为“D”,成绩小于60的输出为“E”。输入数据不合法时输出“data error!”。用户可反复输入成绩进行转换,输入负数时输出“end”并结束程序
输入格式
每次输入一个浮点数,代表百分制成绩;反复输入,输入负数结束程序
输出格式
根据每一次的输入值分别输出A、B、C、D、E中的一个字母或"data error!“或"end”。输出end时程序结束。
演示 | 输入 | 输出 |
---|---|---|
示例 1 | 88 | B |
示例 2 | 99 | A |
示例 3 | 56 | E |
示例 4 | 156 | data error! |
示例 5 | -5 | end |
grade = eval(input())
while True:
if grade > 100:
print('data error!')
elif 90 <= grade <= 100:
print('A')
elif 80 <= grade < 90:
print('B')
elif 70 <= grade < 80:
print('C')
elif 60 <= grade < 70:
print('D')
elif 0 < grade < 60:
print('E')
elif grade < 0:
print('end')
break
grade = eval(input())
描述
一元二次方程ax2+bx+c=0,a、b、c的值由用户在三行中输入,根据用户输入的数值求解方程的实数解:
1.如果a值 为0,根据b值判断方程是否有解并输出,如果a与b同时为0,则输出Data error!
2.如果方程无实数解,输出“该方程无实数解”;
3.如果方程有两个相同的实数解,输出一个解,结果保留2位小数;
4.如果方程有两个不同的实数解,在一行内按从大到小顺序输出方程的两个解,用空格分隔,结果保留2位小数。
输入格式
输入三行数据, 每行输入一个实数
输出格式
方程的解
演示 | 输入 | 输出 |
---|---|---|
示例 1 | 0 0 9 |
Data error! |
示例 2 | 8 5 2 |
该方程无实数解 |
示例 3 | 0 3 7 |
x=-2.33 |
示例 4 | 1 2 1 |
x=-1.00 |
示例 5 | 1 -5 6 |
x_1=2.00 x_2=3.00 |
示例 6 | 1.2 3 0.8 |
x_1=-2.20 x_2=-0.30 |
a = eval(input())
b = eval(input())
c = eval(input())
if a == 0:
if b == 0:
print('Data error!')
else:
print('x={:.2f}'.format(-c/b))
else:
derta = b ** 2 - 4 * a * c
if derta == 0:
print('x={:.2f}'.format(-b/(2*a)))
elif derta > 0:
x1 = (-b - derta ** 0.5) / (2 * a)
x2 = (-b + derta ** 0.5) / (2 * a)
print('x_1={:.2f} x_2={:.2f}'.format(min(x1, x2), max(x1, x2)))
elif derta < 0:
print('该方程无实数解')
描述
相传古代印度国王舍罕要褒赏他的聪明能干的宰相达依尔 (国际象棋发明者),问他需要什么?
达依尔回答说:“国王只要在国际象棋的棋盘第一个格子里放一粒麦子,第二个格子里放两粒,第三个格子里放四粒,按此比例以后每一格加一倍,一直放到64格(国际象棋棋盘是8×8=64格),我就感恩不尽,其他的我什么也不要了。”
国王想:“这有多少,还不容易!”让人扛来一袋小麦,但不到一会儿全用没了,再来一袋很快又没有了,结果全印度的粮食全部用完还不够,国王纳闷,怎样也算不清这笔账,请你帮国王计算一下,放到第 n (1<= n <=64)格时,共需多少粒麦子,写出程序。
输入格式
输入一个小于等于64的正整数 n
输出格式
一个正整数,表示多少粒麦子
演示 | 输入 | 输出 |
---|---|---|
示例 1 | 1 | 1 |
示例 2 | 16 | 65535 |
s = int(input())
rice = 0
for i in range(s):
rice = rice + 2 ** i
print(rice)
描述
我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,如果要求鸡翁、鸡母、鸡雏都不为零,问鸡翁、鸡母、鸡雏各几何?
输入格式
该题目没有输入
输出格式
每行输出一组结果,按鸡翁数、鸡母数、鸡雏数的顺序输出,数字之间用空格分隔;
如果有多组解时,按鸡翁数量由少到多输出;
代码参考
for large in range(1, 20):
for big in range(1,33):
for small in range(3, 300, 3):
if large * 5 + big * 3 + int(small / 3) == 100 and large + big + small == 100:
print('{0} {1} {2}'.format(large, big, small))
描述
大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:
今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?
这四句话的意思是:
有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?
请编一个程序,用户在同一行内输入两个整数,代表头和脚的数量,编程计算笼中各有多少只鸡和兔,假设鸡和兔都正常,无残疾。如无解则输出Data Error!
输入格式
在一行里输入两个整数,用空格分隔
输出格式
在一行里输出两个正整数,分别是鸡和兔的数量,用空格分隔
如无解则输出Data Error!
提示:
a,b = input().split() #读入两个数到a b中
a,b = map(int,input().split(',')) #读入两个整数到a,b中,输入的数用逗号分隔
a,b = map(int,input().split(' ')) #读入两个整数到a,b中,输入的数用空格分隔
演示 | 输入 | 输出 |
---|---|---|
示例 1 | 35 94 | 23 12 |
示例 2 | -4 16 | Data Error! |
h, l = map(int, input().split(' '))
flag = 0
for chick in range(h):
for rabbit in range(l):
if chick + rabbit == h and 2 * chick + 4 * rabbit == l:
print('{0} {1}'.format(chick, rabbit))
flag = 1
if flag == 0:
print('Data Error!')
全月应纳税所得额(含税级距) | 税率(%) | 速算扣除数 |
---|---|---|
不超过3,000元 | 3 | 0 |
超过3,000元至12,000元的部分 | 10 | 210 |
超过12,000元至25,000元的部分 | 20 | 1,410 |
超过25,000元至35,000元的部分 | 25 | 2,660 |
超过35,000元至55,000元的部分 | 30 | 4,410 |
超过55,000元至80,000元的部分 | 35 | 7,160 |
超过80,000元的部分 | 45 | 15,160 |
请编写一个个税计算器,用户输入为应发工资薪金所得扣除五险一金后的金额,输出应缴税款和实发工资,结果保留小数点后两位。当输入数字小于0时,输出“error”。
输入格式
输入一个表示工资的数值,例如12000.0,此数值为已扣除五险一金后的金额。
输出格式
应缴税款490.00元,实发工资11510.00元。
演示 | 输入 | 输出 |
---|---|---|
示例 1 | 2700 | 应缴税款0.00元,实发工资2700.00元。 |
示例 2 | 12000 | 应缴税款490.00元,实发工资11510.00元。 |
示例 3 | 20000 | 应缴税款1590.00元,实发工资18410.00元。 |
示例 4 | 5230.8 | 应缴税款6.92元,实发工资5223.88元。 |
示例 5 | -10 | error |
salary = eval(input())
if salary < 0:
print('error')
elif 0 <= salary <= 5000:
print('应缴税款{:.2f}元,实发工资{:.2f}元。'.format(0, salary))
else:
if salary - 5000 <= 3000:
shui = (salary - 5000) * 0.03 - 0
salary_r = salary - shui
print('应缴税款{:.2f}元,实发工资{:.2f}元。'.format(shui, salary_r))
elif 3000 < salary - 5000 <= 12000:
shui = (salary - 5000) * 0.1 - 210
salary_r = salary - shui
print('应缴税款{:.2f}元,实发工资{:.2f}元。'.format(shui, salary_r))
elif 12000 < salary - 5000 <= 25000:
shui = (salary - 5000) * 0.2 - 1410
salary_r = salary - shui
print('应缴税款{:.2f}元,实发工资{:.2f}元。'.format(shui, salary_r))
elif 25000 < salary - 5000 <= 35000:
shui = (salary - 5000) * 0.25 - 2660
salary_r = salary - shui
print('应缴税款{:.2f}元,实发工资{:.2f}元。'.format(shui, salary_r))
elif 35000 < salary - 5000 <= 55000:
shui = (salary - 5000) * 0.3 - 4410
salary_r = salary - shui
print('应缴税款{:.2f}元,实发工资{:.2f}元。'.format(shui, salary_r))
elif 55000 < salary - 5000 <= 80000:
shui = (salary - 5000) * 0.35 - 7160
salary_r = salary - shui
print('应缴税款{:.2f}元,实发工资{:.2f}元。'.format(shui, salary_r))
elif salary - 5000 > 80000:
shui = (salary - 5000) * 0.45 - 15160
salary_r = salary - shui
print('应缴税款{:.2f}元,实发工资{:.2f}元。'.format(shui, salary_r))
描述
写一个程序用于判断用户输入的年份是不是闰年,如果是输出“True”,如果不是输出“False”。
输入格式
输入一个代表年份的正整数
输出格式
“True”或“False”
演示 | 输入 | 输出 |
---|---|---|
示例 1 | 1900 | False |
示例 2 | 2000 | True |
year = int(input())
if year % 400 == 0:
flag = 'True'
else :
if year % 100 == 0:
flag = 'False'
else:
if year % 4 == 0:
flag = 'True'
else:
flag = 'False'
print(flag)