01/10/2018, 17:25

Code chạy trên sublime không ra kết quả

cho mình hỏi là cùng 1 dòng code khi mình chạy trên sublime thì k trả lại gì hết (ở đây là True or False ) khi chạy trên jupyter lại ra kết quả

Jupyter

def nguyento():
    flag = True
    for i in range(2, n):
        if n % i == 0:
            flag = False
            break
        else:
            flag = True
        i += i
    print(flag)
nguyento(9)
False

Sublime

def nguyento():
    if n <= 1:
        return False
    else:
        for i in range(2, n):
            if n % i == 0:
                return False
        return True

nguyento(9)
Mai Anh Dũng viết 19:26 ngày 01/10/2018

jupyter tự động in nội dung return ra. Còn Sublime thì không.

Nhưng mà bạn không cần up hình lên up ảnh nhanh đâu, bạn chỉ cần chụp hình rồi dán vào lúc đặt câu hỏi trên DayNhauHoc là hình sẽ tự lên thôi.

Thân Hoàng viết 19:25 ngày 01/10/2018

Không biết bạn đã có căn bản về C chưa ?

  • Thứ nhất về thuật toán check số nguyên tố của bạn chưa tối ưu và sai khi n=2.
  • Thứ 2 về câu hỏi của bạn: rõ ràng là 2 đoạn code khác nhau hoàn toàn nhưng với cách hỏi của bạn thì kết quả lại phụ thuộc vào IDE. Ở anaconda là bạn IN GIÁ TRỊ của biến flag ra chứ không hề return cái gì cả.
    Ở sublime bạn chỉ return giá trị của biến flag, vậy làm sao để nó hiển thị được giá trị return đó lên màn hình ?
    Hàm nguyenTo() nó cũng như hàm y = f(x) vậy, return gán giá trị của hàm f(x) cho y. Bạn chỉ có f(x) vậy thì giá trị return của nó đâu có ý nghĩa gì. print(nguyenTo(9))
hoa viết 19:38 ngày 01/10/2018

tks tại lần đầu e hỏi

hoa viết 19:33 ngày 01/10/2018

tks bác e cũng mới tìm hiểu lập trình. hình như e up lộn hình

Bài liên quan
0