python设置变量精确度:
对于浮点数
a=1.36852
a=round(a,2)
print a
#结果1.36
通用方法
通用方法
a=1
a=("%.2f" % a)
print a
#结果1.00
去除列表空元素
有时候input()一个字符串 然后转化为列表(string.split(' '))之后,会有‘’空元素,导致后面出错,需要去掉
list1 = ['122', '2333', '3444', '', '', None]
a = list(filter(None, list1)) # 只能过滤空字符和None
print(a) # ['122', '2333', '3444']
不过后来发现了,原来是自己用string.split(' '),利用空格分隔,就会在最后把一个‘’空加进去
假如采用默认分隔就不会了。比如string.split()
例题
输入描述:
输入候选人的人数,第二行输入候选人的名字,第三行输入投票人的人数,第四行输入投票。
输出描述:
每行输出候选人的名字和得票数量。
示例1
输入
复制
4 A B C D 8 A B C D E F G H
输出
复制
A : 1 B : 1 C : 1 D : 1 Invalid : 4
people=int(input())
candidate=input().split()
#candidate= list(filter(None, candidate))
ticket=int(input())
vote=input().split()
#vote= list(filter(None, vote))
vote=sorted(vote)
result={}
for i in range(len(candidate)):
result[candidate[i]]=0
for i in range(ticket):
for j in range(len(candidate)):
if vote[i]==candidate[j]:
result[candidate[j]]+=1
valid=0
for i in range(len(candidate)):
print(candidate[i]+" : "+str(result[candidate[i]]))
valid=valid+result[candidate[i]]
print('Invalid : '+str(len(vote)-valid))
在输入里面
candidate=input().split()
和
candidate=input().split(' ')
candidate= list(filter(None, candidate))
结果是一样的