为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)相关:当x不超过15吨时,y=4x/3;超过后,y=2.5x−17.5。请编写程序实现水费的计算。
输入格式:
输入在一行中给出非负实数x。
输出格式:
在一行输出应交的水费,精确到小数点后2位。
输入样例1:
12
输出样例1:
16.00
输入样例2:
16
输出样例2:
22.50
答案样例:
a = int(input())
if a <= 15:
print('%.2f'%(4*a/3))
else:
print('%.2f'%(2.5*a-17.5))
# print('%.2f'%(4*a/3)) if a <= 15 else print('%.2f'%(2.5*a-17.5))
给定两个整数A和B,输出从A到B的所有整数以及这些数的和。
输入格式:
输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。
输出格式:
首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X的格式输出全部数字的和X。
输入样例:
-3 8
输出样例:
-3 -2 -1 0 1
2 3 4 5 6
7 8
Sum = 30
答案样例:
a,b = input().split()
a,b = eval(a),eval(b)
c = 0
s = 0
for i in range(a,b+1):
c += 1
print(f"{i}".rjust(5),end="")# 右对齐,默认是以空格补齐长度
if c%5 == 0:
print('\n',end='')
elif i == b:# 最后再打印一个换行,要是最后一个刚好是第5个就不会执行这个
print('\n',end='')
s += i
print(f"Sum = {s}")
中小学生每个学期都要体检,要量身高,因为身高可以反映孩子的生长状况。现在,一个班的身高已经量好了,请输出其中超过平均身高的那些身高。程序的输入为一行数据,其中以空格分隔,每个数据都是一个正整数。程序要输出那些超过输入的正整数的平均数的输入值,每个数后面有一个空格,输出的顺序和输入的相同。
输入格式:
在一行输入中一个班的身高值,以空格分隔。
输出格式:
在一行输出超过输入的平均数的输入值,以空格分隔。
输入样例:
在这里给出一组输入。例如:
143 174 119 127 117 164 110 128
输出样例:
在这里给出相应的输出。例如:
143 174 164
答案样例:
list1 = list(map(int,input().split(' ')))
average = sum(list1)/len(list1)
print(*filter(lambda x: x > average, list1),end=' ')# *相当于给序列进行解压
# a = [1,2,3]
# b = {'name':'zhangsan','age':18}
# print(*a)# 1 2 3
# print(*b)# name age
一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:
首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:
Z:0 1 2 3 4 5 6 7 8 9 10
M:1 0 X 9 8 7 6 5 4 3 2
现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。
输入格式:
输入第一行给出正整数N(≤100)是输入的身份证号码的个数。随后N行,每行给出1个18位身份证号码。
输出格式:
按照输入的顺序每行输出1个有问题的身份证号码。这里并不检验前17位是否合理,只检查前17位是否全为数字且最后1位校验码计算准确。如果所有号码都正常,则输出All passed。
输入样例1:
4
320124198808240056
12010X198901011234
110108196711301866
37070419881216001X
输出样例1:
12010X198901011234
110108196711301866
37070419881216001X
输入样例2:
2
320124198808240056
110108196711301862
输出样例2:
All passed
答案样例:
# 加权求和就是每一位乘以它的权数然后进行相加
n = int(input())
cnt = 0
jlist = ['1','0','X','9','8','7','6','5','4','3','2']
flist = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]
for i in range(n):
num = input()
num_17 = num[:-1]
end = num[-1]
if not num_17.isdigit():# 判断前17位是否全为数字
print(num)
continue
l = map(int,list(num_17))
s = sum(i*j for i, j in zip(flist,l))
m = s % 11
if jlist[m] == end:
cnt += 1
else:
print(num)
if cnt == n:
print('All passed')
输入一个字符串,再输入两个字符,求这两个字符在字符串中的索引。
输入格式:
第一行输入字符串
第二行输入两个字符,用空格分开。
输出格式:
反向输出字符和索引,即最后一个最先输出。每行一个。
输入样例:
在这里给出一组输入。例如:
mississippi
s p
输出样例:
在这里给出相应的输出。例如:
9 p
8 p
6 s
5 s
3 s
2 s
答案样例:
str1 = input()[::-1]
a,b = input().split()
for i in range(len(str1)):
if str1[i] == a:
print('{} {}'.format(len(str1)-i-1,a))
elif str1[i] == b:
print('{} {}'.format(len(str1)-i-1,b))