Code tính căn bậc 2 của một số bị lỗi "SyntaxError: can't assign to function call"

Mình vừa mới tự học Python trong ngày hôm nay, khó khăn vướng mắc là điều không thể tránh. Vậy nên mình muốn hỏi mọi người câu hỏi này và mong mọi người giúp đỡ.

Mình viết một chương trính tính cạnh huyền trong tam giác vuông dựa trên công thức Pytagoras. Tất cả mọi thứ đều ok cho đến dòng tính căn bậc 2 của cạnh huyền :frowning:

sqrt(binhphuongcanhhuyen) = ch
print "Canh huyen la %r" %r(ch)

Tuy nhiên máy lại báo lỗi

SyntaxError: can’t assign to function call

Mọi người giúp mình với :frowning:
Cảm ơn mọi người rất nhiều :smiley:

import math
ch=math.sqrt(binhphuongcanhhuyen)
#hoac ch=binhphuongcanhhuyen**0.5
2 Likes

Cảm ơn bạn rất nhiều!
Mình đã làm được rồi :smiley:
Cho mình hỏi. Import math là mình đưa thư viện math vào đúng k bạn?

Lỗi trên là bạn gán 1 biến cho 1 hàm. Ngược rồi.
import math là thêm module math vào để dùng các hàm trong đó
Nếu dùng import math thì phải ghi math.sqrt()
Nếu from math import * thì ghi sqrt() là được.

3 Likes
  1. Bạn phải gán cái giá trị vào biến ch, và biến đươc gán phải nằm bên trái nha :slight_smile:

  2. Bạn phải dùng Math.sqrt() như 2 anh ở trên đã hướng dẫn :slight_smile:

2 Likes

khi mk sử dụng from math import *
x1 = (-bb - sprt(delta)) / (2 * aa)
NameError: name ‘sqrt’ not difined

còn khi dùng import math
x1 = (-bb - math.sprt(delta)) / (2 * aa)
AttributeError: 'module' object has no attribute 'sprt'

@htl giúp mk đk ko?

sqrt not sprt

1 Like

A post was split to a new topic: Không dùng được math.sqrt trong python

1 Like

Nhờ @drgnz chuyển cmt của bạn Vĩnh Mai ở trên sang topic mới.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?