在Python中格式化多行字符串

3
使用这段伪代码:
1. 声明 Number 为浮点数
2. 声明 Root 为浮点数
3. 声明 Response 为字符类型
4. 输出 你想求一个数的平方根吗?
5. 输出 输入‘y’表示是,输入‘n’表示否:
Response = str(input('Do you want to find the square root of a number? \ 
       Enter y for yes, n for no: '))

在PyCharm运行窗口中的输出:

您想要找到一个数的平方根吗?输入y表示是,n表示否:

期望的格式结果:

Do you want to find the square root of a number?            
Enter y for yes, n for no:

你所需要做的就是将\ 替换为\n - saud
4个回答

2
你可以使用 \n 来打印换行符。
例如:
Response = input('Do you want to find the square root of a number?\nEnter y for yes, n for no: ')

输出:

Do you want to find the square root of a number?
Enter y for yes, n for no: 

1
你已经接近成功了。你只是在要打印的字符串中错过了一个 '\n'。这将以正确的格式打印你的字符串:
Response = str(input('Do you want to find the square root of a number?\nEnter y for yes, n for no: '))

input()的结果传递给str()是不必要的,因为input()返回一个字符串,所以转换是绝对的。顺便问一下,你认为input()返回什么数据类型? - Joe Iddon
在Python 3.x中,input的工作方式类似于raw_input(),始终返回一个字符串。但是,在Python 2.7中,input()返回用户输入表达式的类型。在Python 2.7中最好使用raw_input()而不是input()。没有提到使用的Python版本,因此如果是Python 2.7,则最好使用str()。如果是Python 3.0,则不需要str()。 - sasi

1
你可以像 @MikeScotty 所说的那样使用 newline 字符,或者你可以先定义消息,使用 multi-line string。这样比一遍又一遍地输入 \n 更容易更改和创建消息。
要做到这一点,使用 triple-quoted strings:
m = """Do you want to find the square root of a number?
Enter y for yes, n for no: """

然后你可以简单地这样做:

input(m)

这句话的英译中文是:“这将提示用户:”。
Do you want to find the square root of a number?
Enter y for yes, n for no: [their entry ready here]

当然,您不需要单独定义消息(m),您可以直接将三引号字符串作为input的参数编写,但是事情可能会变得有点混乱:
Response = input("""Do you want to find the square root of a number?
Enter y for yes, n for no: """)

太棒了!谢谢你向我展示了另一种做法。工具越多越好! - Runferurlife

0

你需要添加\n而不是仅仅的\。N代表换行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接