Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

กลับจำนวนเต็มใน Python

สมมติว่าเรามีจำนวนเต็มที่มีเครื่องหมาย 32-bit เราต้องรับตัวเลขและกลับหลักตัวเลข เช่นถ้าตัวเลขเป็น 425 ผลลัพธ์จะเป็น 524 สิ่งหนึ่งที่ต้องจำคือตัวเลขมีเครื่องหมาย ดังนั้นอาจมีตัวเลขลบ เช่นถ้าตัวเลขคือ -425 จะเป็น -524

ที่นี่เรามีสมมติฐานบางอย่าง เราสมมติว่าเราอยู่ในโดเมนของจำนวนเต็มที่มีเครื่องหมาย 32-bit ดังนั้นช่วงจะเป็น [-2^31 ถึง 2^31 - 1] ถ้าตัวเลขไม่อยู่ในช่วง ฟังก์ชันจะคืนค่า 0

ในการแก้ปัญหานี้ เราจะใช้โค้ด Python ตอนแรกเราจะแปลงจำนวนเต็มที่กำหนดเป็นสตริง ถ้าตัวอักษรแรกในสตริงคือ '-' แสดงว่าตัวเลขเป็นลบ ให้กลับจากดัชนี 1 ถึง ความยาว - 1 และสุดท้ายแปลงเป็นจำนวนเต็มก่อนคืนค่า สำหรับตัวเลขบวก เพียงแค่กลับสตริงและทำให้เป็นจำนวนเต็มก่อนคืนค่า ในทุกกรณีเราจะตรวจสอบว่าตัวเลขอยู่ในช่วงของจำนวนเต็ม 32-bit หรือไม่ ถ้าเกินช่วง ให้คืนค่า 0

ตัวอย่าง

class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        x = str(x)
        if x[0] == '-':
            a = int('-' + x[-1:0:-1])
            if a >= -2147483648 and a <= 2147483647:
                return a
            else:
                return 0
        else:
            a = int(x[::-1])
            if a >= -2147483648 and a <= 2147483647:
                return a
            else:
                return 0

ob1 = Solution()
print(ob1.reverse(-425))

อินพุต

print(ob1.reverse(-425))

เอาต์พุต

-524