python - 如何从 Python 中的循环中删除尾随逗号?

标签 python python-3.x

到目前为止,这是我的代码:

def main():
    for var in range (1, 101):
        num= IsPrime(var)
        if num == 'true':
             print(var, end=', ') 

IsPrime 函数计算函数是否为素数。

我需要将 1 到 100 之间的质数打印成一行,中间用逗号和空格。例如,输出应该是这样的:

2,  3,  5,  7,  11,  13,  17,  19,  23,  29,  31,  37,  41,  43,  47,  53,  59,  61,  67,  71,  73,  79,  83,  89,  97 

我试着运行我的程序,但我总是在 97 的末尾得到一个逗号。我不知道如何删除逗号,因为它是一个循环,str.rstrip 和 [:-1]不工作。

我需要使用循环,但我不能使用

print('2') 
print(', ', var, end='') 

对于其他素数。

我不知道是否有更简单的编码方法,或者我不知道可以正确执行此操作的函数。

最佳答案

在我看来,惯用的 Python 代码看起来像这样:

print(', '.join([str(x) for x in xrange(1, 101) if IsPrime(x) == 'true']))

(如果 IsPrime 实际返回 TrueFalse 而不是字符串,情况会更好)

这是函数式代码而不是命令式代码。

如果你想要命令式代码,你应该在除循环的第一项之外的每个元素之前打印 ', ' 。您可以使用一个 bool 变量来执行此操作,在您看到一个项目后将该变量设置为 true。

关于python - 如何从 Python 中的循环中删除尾随逗号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31505452/

相关文章:

python - 如何创建一段代码来检查一个数的最大质因数?

python - 在 Python 中生成随机字符

python - 如何在一个文件中 Pickle 多个对象?

Python tk 滚动框架?

python - 在 Spark 和 Python 中编写 flatMap 函数

python - 敌人 Sprite 没有正确跟随玩家

Python 非严格搜索字符串中的文本

string - 在 Python 3 中格式化 LaTeX 数学字符串

python - 如何将列表中元组的第 i 个元素映射到另一个列表中的键以形成字典

python - 如何使用按钮上的名称来单击链接