admin 管理员组

文章数量: 1087649

你遇上过 “输出用逗号分隔,最后一个输出不用逗号“难题吗?follow me !

关于输出用逗号分隔,最后一个输出不用逗号 的问题

水仙花的输出

for i in range(100,1000):I=str(i)if pow(eval(I[0]),3)+pow(eval(I[1]),3)+pow(eval(I[2]),3)==i:print(i,",",end="")# print("{}".format(i),end="")#print(i,end=",")

结果为:

后面有个逗号,这就是今天讨论的地方
数据多少,顺序输出(从小到大),逆序输出(从大到小)

定数据的输出:

输入三个数据,后输出以逗号隔开的数据

例如:
输入:123,456,789
输出:123,456,789
思路很简单

a,b,c=eval(input())
print(a,b,c)

不定数据输出

输出1~100之间的水仙花数

这就涉及循环了,开头例子展示了错误范例(忘得再去看看),这中关键就在于如何把末尾逗号去掉:
1.列表类型:
b=['153', '370', '371', '407']
#这中的'153'是字符串,因为join是字符串加入字符串
print(b)
print(",".join(b))

结果是令人可喜的:

2.字符串类型
b='153,370,371,407,'
print(b)
print(b[:-1])

3.实数类型

在目标个数中进行分类讨论:最后一个与非最后一个间的讨论

获得用户输入整数N,计算并输出从N开始的5个质数,单行输出,质数间用逗号,分割。
n_= eval(input())
count = 5while count > 0:if prime(n_):if count > 1:print(n_, end=",")else:print(n_, end="")count -= 1 n_ += 1#也可以count=0

也可以用for:

for i in range(4):if prime(n_):print(n_,end="+")n_+=1
if prime(n_):print(n_)
来到输出水仙花数:

1.列表类型:

d=[]
for i in range(100,1000):c=pow(i//100,3)+pow(((i-i//100*100)//10),3)+pow(i%10,3)if c==i :t=str(i)d.append(t)
print(",".join(d))

2.字符串类型:
2.1:顺序输出

s = ""
for i in range(100, 1000):t = str(i)if pow(eval(t[0]),3) + pow(eval(t[1]),3) + pow(eval(t[2]),3) == i :s += "{},".format(i)
print(s[:-1])

2.2:逆序输出

s = ""
for i in range(100, 1000):t = str(i)if pow(eval(t[0]),3) + pow(eval(t[1]),3) + pow(eval(t[2]),3) == i :s="{},".format(i)+s
'''不要s=",{}".format(i)+s不要s+=",{}".format(i)'''
print(s[-1])

看完后有什么感想吗?
敬请留言

本文标签: 你遇上过 “输出用逗号分隔,最后一个输出不用逗号“难题吗follow me