panH 发表于 2019-1-6 15:18:05

关于print打印已赋值的变量问题。

>>> import random
>>> secret = random.randint(1,10)
>>> print("%secret" % (secret))
1ecret
>>> s = random.randint(1,10)
>>> print("%s" % (s))
10


赋值的secret为什么在打印出来的时候后面会有ecret字母。
而赋值的s就没有这问题。
哪里出了问题,改怎么解决,以后编程中出现该类情况该怎么处理比较好?

凌九霄 发表于 2019-1-6 15:19:59

本帖最后由 凌九霄 于 2019-1-6 15:32 编辑

因为 %s 表示的是字符串通配符,而后你误打误撞用了%s正确了,其实你使用其他的字符可能就会报错。

panH 发表于 2019-1-6 15:23:50

凌九霄 发表于 2019-1-6 15:19
因为 %s 表示的是字符串通配符

那如果非要打印这个结果出来,该怎么处理比较好呢?以后编程该类情况怎么有效的避免?

heidern0612 发表于 2019-1-6 15:26:29


如下这么写,以后也推荐这么写。
import random
secret = random.randint(1,10)
print(f"{secret}" )

s = random.randint(1,10)
print(f"{s}")

panH 发表于 2019-1-6 15:31:33

heidern0612 发表于 2019-1-6 15:26
如下这么写,以后也推荐这么写。

受教了,谢谢大佬。
页: [1]
查看完整版本: 关于print打印已赋值的变量问题。