python运行效果如下,希望得到帮助
实现输入多行,以#号结束
若没有小于100的数,则只显示所有输入的数值。
ls = []
print("输入数值(以#结束):")
while True:
a = input()
if a == "#":
break
else:
ls.append(str(round(float(a),1)))
num = []
for i in ls:
if float(i) < 100:
num.append(str(i))
print("数值:%s" % (",".join(ls)))
print("小于100的数:%s" % (len(num)))
print("小于100的数分别为:%s" % (",".join(num)))
num=[]
while True:
a=input()
if a=='#':
break
a=eval(a)
if a<100:
num.append(a)
print('小于100的数:{}'.format(len(num)))
print('小于100的数分别为:',end="")
for i in range(len(num)):
print('{:.1f}'.format(num[i]),end="")
if i !=len(num)-1:
print(',',end="")
先依次把输入的数值进行一个输出
然后一个if判断把小于100的数筛选出来
进行一个计数
并且把小于100的数进行输出
import sys
import itertools as it
print("输入数值(以#结束):")
y = list(it.takewhile(lambda x: x.strip() != "#", sys.stdin))
print('数值:', ",".join(map(lambda x: x.strip(), y)))
r = [float(i.strip()) for i in y if float(i.strip()) < 100]
print("小于100的数:", len(r))
print("小于100的数分别是:", ','.join(map(str, r)))
ls = []
print("输入数值(以#结束):")
while True:
a = input()
if a == "#":
break
else:
ls.append(float(a))
num = [str(n) for n in ls if n<100]
lss = [str(n) for n in ls]
print(f'数值:{(",".join(lss))}')
print(f'小于100的数:{len(num)}')
print(f'小于100的数分别为:{(",".join(num))}')