蜜雪冰城 发表于 2022-3-29 11:02:08

大佬请进!

def test():
    print("测试, e摄氏度 = %.2f华氏度"%c2f(0));
    print("测试, e华氏度 = %.2f摄氏度"%f2c(0));


test()
1.次程序中的e是格式化字符%e吗, 如果用print(f'‘)可以写吗, 怎么去写?
2.print()后面的分号是干什么的, 我这里显示去掉程序正常运行。请问,什么时候可以加; ,什么时候不可以加

isdkz 发表于 2022-3-29 11:02:09

第一:
e 不是格式化字符 %e,要加上 % 才是格式化,

f-string 也可以写,%e 的话用 f-string 是 {这里写变量名:e},

你那个换成 f-string 是
def test():
    print(f"测试, e摄氏度 = {c2f(0):.2f}华氏度");
    print(f"测试, e华氏度 = {f2c(0):.2f}摄氏度");

第二个问题:
python 为了避免从其他语言转过来的开发者无法适应python不用分号作为语句结尾的问题,

所以保留了可以在语句尾加分号,但是加跟不加是一样的,

不推荐加

蜜雪冰城 发表于 2022-3-29 18:50:56

isdkz 发表于 2022-3-29 11:14
第一:
e 不是格式化字符 %e,要加上 % 才是格式化,



那e在里面是什么用呢

isdkz 发表于 2022-3-29 19:03:39

蜜雪冰城 发表于 2022-3-29 18:50
那e在里面是什么用呢

就是一个普通的字符,没啥作用

蜜雪冰城 发表于 2022-3-29 19:56:43

isdkz 发表于 2022-3-29 19:03
就是一个普通的字符,没啥作用

我可以理解为e就是个设的数,可以是a,b,c...,代替后面%c2f(0)里面的0

isdkz 发表于 2022-3-29 20:04:06

蜜雪冰城 发表于 2022-3-29 19:56
我可以理解为e就是个设的数,可以是a,b,c...,代替后面%c2f(0)里面的0

它就是一个普通的字符,你为什么要那样理解?

蜜雪冰城 发表于 2022-3-29 20:07:12

isdkz 发表于 2022-3-29 20:04
它就是一个普通的字符,你为什么要那样理解?

看错了,最后一个问题%c2f(0),取0是什么意思,是让她取0吗?

isdkz 发表于 2022-3-29 20:11:02

蜜雪冰城 发表于 2022-3-29 20:07
看错了,最后一个问题%c2f(0),取0是什么意思,是让她取0吗?

% c2f(0) 是把 c2f(0) 的结果(也就是把 0 传给 c2f 函数得到的返回值)格式化到字符串里面的 %.2f

蜜雪冰城 发表于 2022-3-29 20:17:51

谢谢大佬
页: [1]
查看完整版本: 大佬请进!