122Ml 发表于 2023-9-21 17:57:29

小白关于print()函数的求助

#!/usr/bin/env python3

n = 100

sum = 0
counter = 1
while counter <= n:
    sum = sum + counter
    counter += 1

print("1 到 %d 之和为: %d" % (n,sum))
请问以上代码中语句
print("1 到 %d 之和为: %d" % (n,sum))
其中连接""与(n,sum)的%是什么意思?

isdkz 发表于 2023-9-21 17:57:39

在Python中,%是一个字符串格式化运算符。它将左操作数作为格式化字符串,右操作数作为值进行格式化,并将结果作为字符串返回。在这个例子中,"1 到 %d 之和为: %d"是格式化字符串,% (n,sum)是一个元组,包含要插入格式化字符串的值。%d是一个占位符,表示要插入一个整数值。因此,% (n,sum)将n插入第一个%d,将sum插入第二个%d,最终得到一个字符串,它包含格式化的值。

liuhongrun2022 发表于 2023-9-21 18:19:18

这段代码中,% 是字符串的格式化操作符,用于组合字符串和变量的值。具体来说,"%d" % (n, sum) 表示将变量 n 和 sum 的值分别插入到 "%d" 这个格式化字符串中。其中 "%d" 是一个占位符,表示在该位置插入一个整数。

这种形式的字符串格式化是使用旧的格式化语法,而在 Python 中,推荐使用更现代的 f-string(格式化字符串)来完成相同的操作。使用 f-string 的代码可以改写为:

print(f"1 到 {n} 之和为: {sum}")

这样更加直观和易读。所以,建议在新的代码中使用 f-string 来进行字符串的格式化。

122Ml 发表于 2023-9-21 18:40:34

liuhongrun2022 发表于 2023-9-21 18:19
这段代码中,% 是字符串的格式化操作符,用于组合字符串和变量的值。具体来说,"%d" % (n, sum) 表示将变量 ...

感谢!
页: [1]
查看完整版本: 小白关于print()函数的求助