Discuss / Python / 交作业

交作业

Topic source

北极之城

#1 Created at ... [Delete] [Delete and Lock User]

# -*- coding: utf-8 -*-

s1 = 72
s2 = 85

r = (s2-s1)/s1*100

print(r)

print('小明成绩提升的百分点{0:.1f}'. format (r))

各位学友们,请问一下{0:.1f}%中的冒号(:)在这里是做什么用?

修改成逗号或者分号都是错误的

Traceback (most recent call last):

  File "/home/pyodide/pyscript/_internal.py", line 104, in run_pyscript

    result = eval_code(code, globals=__main__.__dict__)

             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/lib/python311.zip/_pyodide/_base.py", line 468, in eval_code

    .run(globals, locals)

     ^^^^^^^^^^^^^^^^^^^^

  File "/lib/python311.zip/_pyodide/_base.py", line 310, in run

    coroutine = eval(self.code, globals, locals)

                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "<exec>", line 9, in <module>

KeyError: '0 ;'

Berlin

#2 Created at ... [Delete] [Delete and Lock User]

这因为你用的是format格式,有序号{0}、{1}、{2}等等,{0:.1f},format(r)意思就是用r取代第一个需要被取代的值,并且它是小数点位数为1的浮点数。冒号应该是格式需求,进行解释说明。

北极之城

#3 Created at ... [Delete] [Delete and Lock User]

谢谢,明白了,就当作是格式要求

  • ::冒号后面跟着的是格式说明符。
  • :引入格式说明符

  • 1

Reply