python如何选中整体退格_如何在python中进行退格

我想知道在使用for循环时如何打印单行字符串。如果你知道其他的方法,我会感谢你的帮助。谢谢您。另外,尝试编辑我的代码!

times = int(input("Enter a number:"))

print(times)

a = 0

for i in range(times+1):

print("*"*i)

a += i

print("Total stars:")

print(a)

print("Equation:")

for e in range(1,times+1):

print(e)

if e != times:

print("+")

else:

pass

出:

Enter a number: 5

*

**

***

****

*****

Equation:

1

+

2

+

3

+

4

+

5

如何使方程只在一条直线上,如下所示:

1+2+3+4+5

正在查找''?stackoverflow.com/a/18320507/1248974

这可能是您要找的-stackoverflow.com/questions/11266068/…

你好像不小心问了两个问题。第一个问题:上面回答的退格(\b)。另一个是你的实际问题…这是因为每个印刷品都有自己的线条。您需要构造一个字符串并打印一次,而不是打印多个。如果你已经习惯了Java,那么打印系统So.Out.PrtLn,而你需要打印。所以,先构建字符串,然后在所有迭代之后打印出来。

我不认为你能在打印后用"退格"键。至少从终端上删除是不容易的。但您可以在打印字符串之前构建它:

times = int(input("Enter a number:"))

print(times)

a = 0

for i in range(times+1):

print("*"*i)

a += i

print("Total stars:")

print(a)

print("Equation:")

equation_string =""

for e in range(1,times+1):

equation_string += str(e)

if e != times:

equation_string +="+"

else:

pass

print(equation_string)

基本上,所发生的是将临时方程存储在equation_str中,所以它的构建如下:

1

1+

1+2

1+2+

...

然后,在完成构建后打印equation_str。修改后的程序的输出是

Enter a number: 5

5

*

**

***

****

*****

Total stars:

15

Equation:

1+2+3+4+5

如果有任何不清楚的地方,请随时发表评论。

评论时间太长,所以我会在这里发表。如果您有一个想要格式化和打印的序列,那么python的格式化选项可以很好地使用。考虑以下内容…

>>> num = 5     # number of numbers to generate

>>> n = num-1   # one less used in generating format string

>>> times = [i for i in range(1,num+1)]  # generate your numbers

>>> ("{}+"*n +"{}=").format(*times)     # format your outputs

'1+2+3+4+5='

因此,尽管这并不能回答您的问题,但是您可以看到,列表理解可以发挥作用来生成值列表,然后可以在格式生成中使用。格式字符串也可以用L.C.生成,但是当您想要合并字符串元素(如上面的示例中所示的+和=)时,它会变得相当混乱。

请尝试以下操作,而不是使用原始for循环来打印每个数字:

output = '+'.join([str(i) for i in range(1, times + 1)])

print(output)

说明:

[str(i) for i in range(1, times + 1)]是一个列表理解,它返回所有数字的列表,转换为字符串以便我们打印它们。

'+'.join(...)连接列表中的每个元素,每个元素之间有一个+。

可选地:

如果您希望对原始代码进行简单修改,只需使用关键字paramater end取消每个print语句的换行,并将其设置为空字符串:

print(e, end='')

(请注意,我的回答是隐含的问题,而不是"如何做退格"问题)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值