Cách tạo phương thức trên python

Corvert java sang python như nào vậy ạ?

public static String result(int a){
	String s = ""
	int i = 2
	while(i<=a){
		if(a%i==0){
			s = s + i + "*";
			a = a/i;
		}else i++
	}
	return s;
}
main(){
	int a = new Scanner(System.in).nextInt();
	System.out.print(result(a));
}

Mình nghĩ bạn nên tìm hiểu Python trước khi đặt câu hỏi như thế này.

def  result(int a):
    s = ""
    i = 2
    while i <=a :
        if a%i == 0 :
	    s = s + i + "*"
	    a = a/i
        else:
            i++
    return s

def main():
    a = input("Enter a number: ")
    print a
1 Like

OK Mình cảm ơn ạ!..

Hình như python ko có (int a) trong def, ko có while và ko có i++

Hihi bạn có thể chỉnh lại giúp mình cho đúng không ? :wink:

Mình chỉ nhớ như vậy thôi, đang dùng điện thoại nên hơi ngại :smile:

Sorry mình nhớ nhầm, có while :smile:

chỗ nối str thì trong python phải convert int sang str

def result(a):
    s = ""
    i = 2
    if type(a) == 'int':
        while i <= a:
            if a % i == 0:
                s = s + str(i) + "*"
                a = a / i
            else:
                i += 1
    else:
        s = "No integer entered"
    return s


if __name__ == '__main__':
    a = input("Enter a number: ")
    print(result(a))

có thể dùng đoạn code này để bắt buôc nhập vào int:

while True:
    a = raw_input("enter a number: ")
    if type(a) == 'int':
        break

thì trong hàm result ko cần kiểm tra a là int hay ko nữa, nhg theo mình thì để cả 2 chỗ cũng được, để dùng lại hàm result ở chỗ khác ko bị lỗi

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