爱意随风起9306 发表于 2023-1-4 13:26:49

请看代码,难道我的代码有错吗,或者有没有最优解

https://thumbnail1.baidupcs.com/thumbnail/0e22dc482kdcfe2cf2bd218dc695688c?fid=1590253992-250528-137981696397904&rt=pr&sign=FDTAER-DCb740ccc5511e5e8fedcff06b081203-duPvy2ca13H7CfoH7R0UTo6k%2f5s%3d&expires=8h&chkbd=0&chkv=0&dp-logid=82540279671451213&dp-callid=0&time=1672808400&size=c1463_u915&quality=90&vuk=1590253992&ft=image&autopolicy=1


https://thumbnail1.baidupcs.com/thumbnail/38a27f5a2p53af4e2b0bbfd62f09c428?fid=1590253992-250528-476328787629724&rt=pr&sign=FDTAER-DCb740ccc5511e5e8fedcff06b081203-wl3%2fO8pwKxXHNEmmAhnzV2HhvRg%3d&expires=8h&chkbd=0&chkv=0&dp-logid=82540279671451213&dp-callid=0&time=1672808400&size=c1463_u915&quality=90&vuk=1590253992&ft=image&autopolicy=1


https://thumbnail1.baidupcs.com/thumbnail/ac3a5fcb6sda0df4c26e2ef1a9548d99?fid=1590253992-250528-455103850762640&rt=pr&sign=FDTAER-DCb740ccc5511e5e8fedcff06b081203-a7rX8D46fM9WPv%2bskfBKe7MrxFc%3d&expires=8h&chkbd=0&chkv=0&dp-logid=82540279671451213&dp-callid=0&time=1672808400&size=c1463_u915&quality=90&vuk=1590253992&ft=image&autopolicy=1


# 计算线段长度
x1,y1=map(int,input().split())
x2,y2=map(int,input().split())
len=int((x1-x2)**2+(y1-y2)**2)**0.5
print('%.3f'%len)



# 求平均年龄
n = int(input())
a = 0
for i in range(n):
            a += int(input())
q=a/n
print("%.2f" % q)

wp231957 发表于 2023-1-4 13:45:05

这明显是浮点数你干嘛要用int 来强转呢

Zzzmmy 发表于 2023-1-4 15:58:46

我刚开始学,没法帮你喽

Zzzmmy 发表于 2023-1-4 15:59:22

wp231957 发表于 2023-1-4 13:45
这明显是浮点数你干嘛要用int 来强转呢

你好厉害

爱意随风起9306 发表于 2023-1-5 11:36:22

wp231957 发表于 2023-1-4 13:45
这明显是浮点数你干嘛要用int 来强转呢

计算线段长度那个我理解了,但是求平均年龄那个没搞懂

N781791878 发表于 2023-1-5 15:00:54

爱意随风起9306 发表于 2023-1-5 11:36
计算线段长度那个我理解了,但是求平均年龄那个没搞懂

你的意思是代码代码看不懂吗?

爱意随风起9306 发表于 2023-1-5 15:03:00

N781791878 发表于 2023-1-5 15:00
你的意思是代码代码看不懂吗?

是不知道哪里错

爱意随风起9306 发表于 2023-1-5 15:03:58

N781791878 发表于 2023-1-5 15:00
你的意思是代码代码看不懂吗?

https://thumbnail1.baidupcs.com/thumbnail/38a27f5a2p53af4e2b0bbfd62f09c428?fid=1590253992-250528-476328787629724&rt=pr&sign=FDTAER-DCb740ccc5511e5e8fedcff06b081203-Xm2BlOXdtOzR6ReH4Dh21sZrYAQ%3d&expires=8h&chkbd=0&chkv=0&dp-logid=107324180488072881&dp-callid=0&time=1672902000&size=c1463_u915&quality=90&vuk=1590253992&ft=image&autopolicy=1

爱意随风起9306 发表于 2023-1-5 15:04:44

N781791878 发表于 2023-1-5 15:00
你的意思是代码代码看不懂吗?

https://thumbnail1.baidupcs.com/thumbnail/ac3a5fcb6sda0df4c26e2ef1a9548d99?fid=1590253992-250528-455103850762640&rt=pr&sign=FDTAER-DCb740ccc5511e5e8fedcff06b081203-VginZ1e4t8H1HkFv9ZeRPbGTZAQ%3d&expires=8h&chkbd=0&chkv=0&dp-logid=107324180488072881&dp-callid=0&time=1672902000&size=c1463_u915&quality=90&vuk=1590253992&ft=image&autopolicy=1

爱意随风起9306 发表于 2023-1-5 15:11:27

N781791878 发表于 2023-1-5 15:00
你的意思是代码代码看不懂吗?

现在是错了,不知道该怎么改

N781791878 发表于 2023-1-5 15:18:59

爱意随风起9306 发表于 2023-1-5 15:11
现在是错了,不知道该怎么改

没有四舍五入到第二位,
这样改就行了:
# 求平均年龄
n = int(input())
a = 0
for i in range(n):
            a += int(input())
q=a/n
print(round(q+0.005,2))

爱意随风起9306 发表于 2023-1-5 15:25:04

N781791878 发表于 2023-1-5 15:18
没有四舍五入到第二位,
这样改就行了:

但是输出的结果是17.50
这个代码不会输出17.50,而是输出17.5了

N781791878 发表于 2023-1-5 15:27:52

爱意随风起9306 发表于 2023-1-5 15:25
但是输出的结果是17.50
这个代码不会输出17.50,而是输出17.5了

print("{:.2f}".format(q))

N781791878 发表于 2023-1-5 15:29:38

N781791878 发表于 2023-1-5 15:27
print("{:.2f}".format(q))

print(f"{q:.2f}")

爱意随风起9306 发表于 2023-1-5 15:31:19

N781791878 发表于 2023-1-5 15:27
print("{:.2f}".format(q))

不行,还是上面那个,
答案是13.63
但是代码运行的结果是13.62

N781791878 发表于 2023-1-5 15:31:35

N781791878 发表于 2023-1-5 15:29
print(f"{q:.2f}")

现在两个应该都可以,小甲鱼这里有字符串格式化语法:https://fishc.com.cn/thread-185807-1-1.html

N781791878 发表于 2023-1-5 15:36:40

爱意随风起9306 发表于 2023-1-5 15:31
不行,还是上面那个,
答案是13.63
但是代码运行的结果是13.62

{:10_266:}{:10_266:}
# 求平均年龄
n = int(input())
a = 0
for i in range(n):
            a += int(input())
q=a/n
print("{:.2f}".format(q+0.005))

爱意随风起9306 发表于 2023-1-5 15:39:25

N781791878 发表于 2023-1-5 15:36


这个可以,但是能不能解释一下最后的print括号里面的是怎么弄出来的

N781791878 发表于 2023-1-5 16:05:26

爱意随风起9306 发表于 2023-1-5 15:39
这个可以,但是能不能解释一下最后的print括号里面的是怎么弄出来的

里面是format方法string.format(),
冒号前面是索引对象,后面就跟%的格式化一样.
如"{1:.2f}ABC{0:.2f}".format(0.11,0.22)就相当于 "0.22ABC0.11",
或用变量"{x:.2f}ABC{y:.2f}".format(x=0.11,y=0.22) ==> "0.11ABC0.22"


题目要求保留小数点后两位,我们就可以在第三位上加5,即 q+0.005。(因为当第三位大于5时,加上0.005就自动向前进位了)

爱意随风起9306 发表于 2023-1-5 16:16:14

N781791878 发表于 2023-1-5 16:05
里面是format方法string.format(),
冒号前面是索引对象,后面就跟%的格式化一样.
如"{1:.2f}ABC{0:.2f ...

噢,明白了
页: [1]
查看完整版本: 请看代码,难道我的代码有错吗,或者有没有最优解