python - 如何从Python中的打印列表中删除/删除最后一个字符

标签 python python-3.x printing character separator

我正在创建一个简单的程序,它可以找到一个数字的最小乘数(不确定这是否是正确的术语)。但是,我找不到从列出的结果中删除最后一个“*”的方法。我究竟做错了什么?请帮忙。

num = int(input("write number: "))
print(num, end = "=")
div = 2
while num > 1:
    if num % div == 0:
        num = num / div
        print(div, end = "*")
    else:
        div += 1

我得到的结果:

24=2*2*2*3*

我想要的结果:

24=2*2*2*3

我尝试使用 sep=""而不是 end="",尝试了\b, [:-1] 但这不起作用,或者我只是做错了。 谢谢。

最佳答案

您可以创建除数列表,然后打印连接列表。

num = int(input("write number: "))
print(num, end = "=")
div = 2
out = []
while num > 1:
    if num % div == 0:
        num = num / div
        out.append(div)
    else:
        div += 1
print('*'.join(map(str,out)))

测试:

write number: 24
24=2*2*2*3

关于python - 如何从Python中的打印列表中删除/删除最后一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47636388/

相关文章:

php - 如何使用 Jquery 或 PHP 打印关联的 div 内容和 css

java - sun.print.Win32PrintServiceLookup.notifyPrinterChange 内存泄漏

python - 打印 vgg、keras 中的所有分类类。索引错误

python - 如何在一个命令中启用所有或多个断点?

python - 私有(private)名称修改功能

python - 使用 Python 读取 MS-Word 文件中页眉和页脚中的表格内容

python tkinter接口(interface)如何创建一个新的显示txt文件

python - 使用python的字符串中最接近的字符

python - 线程卡住(python w/GTK)

python - 生成器与嵌套 for 循环