Có cách nào để có được chữ số cuối cùng của một số. Tôi đang cố gắng tìm các biến kết thúc bằng "1" như 1,11,21,31,41, v.v.
Nếu tôi sử dụng một biến văn bản, tôi chỉ có thể đặt
print number[:-1]
Nhưng nó hoạt động cho các biến có văn bản [như "Xin chào] nhưng không có số. Với số tôi nhận được lỗi này:
TypeError: 'int' object is not subscriptable
Tôi đang cố gắng xem liệu có cách nào tốt hơn để đối phó với những con số theo cách này không. Tôi biết một giải pháp là chuyển đổi thành một chuỗi và sau đó thực hiện lệnh trên nhưng tôi đang cố gắng xem liệu có cách nào khác tôi đã bỏ lỡ.
Cảm ơn rất nhiều trước...
Đã hỏi ngày 10 tháng 3 năm 2011 lúc 2:36Mar 10, 2011 at 2:36
Còn lại khi chia cho 10, như trong
numericVariable % 10
Điều này chỉ hoạt động cho các số dương. -12%10 sản lượng 8
Đã trả lời ngày 10 tháng 3 năm 2011 lúc 2:36Mar 10, 2011 at 2:36
Jim Garrisonjim GarrisonJim Garrison
84,4K20 Huy hiệu vàng153 Huy hiệu bạc187 Huy hiệu đồng20 gold badges153 silver badges187 bronze badges
0
Sử dụng toán tử mô đun với 10:
num = 11
if num % 10 == 1:
print 'Whee!'
Điều này mang lại phần còn lại khi chia cho 10, sẽ luôn là chữ số cuối cùng [khi số dương].
Đã trả lời ngày 10 tháng 3 năm 2011 lúc 2:37Mar 10, 2011 at 2:37
CameroncameronCameron
93.5K23 Huy hiệu vàng194 Huy hiệu bạc221 Huy hiệu đồng23 gold badges194 silver badges221 bronze badges
2
Vì vậy, bạn muốn truy cập các chữ số trong một số nguyên như các phần tử trong danh sách; Cách dễ nhất tôi có thể nghĩ đến là:
n = 56789
lastdigit = int[repr[n][-1]]
# > 9
Chuyển đổi N thành một chuỗi, truy cập phần tử cuối cùng sau đó sử dụng Int Constructor để chuyển đổi trở lại thành số nguyên.n into a string, accessing last element then use int constructor to convert back into integer.
Đối với số điểm nổi:
n = 179.123
fstr = repr[n]
signif_digits, fract_digits = fstr.split['.']
# > ['179', '123']
signif_lastdigit = int[signif_digits[-1]]
# > 9
Đã trả lời ngày 17 tháng 10 năm 2011 lúc 5:07Oct 17, 2011 at 5:07
Zv_oDDZv_oDDZv_oDD
1.7901 Huy hiệu vàng17 Huy hiệu bạc26 Huy hiệu đồng1 gold badge17 silver badges26 bronze badges
1
Tôi chưa thể thêm một bình luận, nhưng tôi muốn lặp lại và mở rộng những gì Jim Garrison nói
Còn lại khi chia cho 10, như trong số 10 có thể sử dụng
Điều này chỉ hoạt động cho các số dương. -12%10 sản lượng 8
Đã trả lời ngày 10 tháng 3 năm 2011 lúc 2:36
abs[numericVariable] % 10
Jim Garrisonjim GarrisonFeb 21, 2017 at 21:19
84,4K20 Huy hiệu vàng153 Huy hiệu bạc187 Huy hiệu đồngMicah Pearce
Sử dụng toán tử mô đun với 10:3 gold badges24 silver badges56 bronze badges
Điều này mang lại phần còn lại khi chia cho 10, sẽ luôn là chữ số cuối cùng [khi số dương].
number = int[10]
#The variable number can also be a float or double, and I think it should still work.
lastDigit = int[repr[number][-1]]
#This gives the last digit of the variable "number."
if lastDigit == 1 :
print["The number ends in 1!"]
Đã trả lời ngày 10 tháng 3 năm 2011 lúc 2:37
Cameroncameron
93.5K23 Huy hiệu vàng194 Huy hiệu bạc221 Huy hiệu đồngFeb 3, 2019 at 3:37
Vì vậy, bạn muốn truy cập các chữ số trong một số nguyên như các phần tử trong danh sách; Cách dễ nhất tôi có thể nghĩ đến là:
oldint = 10101
newint = int[str[oldint][-1:]]
Chuyển đổi N thành một chuỗi, truy cập phần tử cuối cùng sau đó sử dụng Int Constructor để chuyển đổi trở lại thành số nguyên.Dec 15, 2019 at 3:05
Đối với số điểm nổi:Jay
Đã trả lời ngày 17 tháng 10 năm 2011 lúc 5:072 gold badges10 silver badges22 bronze badges
1.7901 Huy hiệu vàng17 Huy hiệu bạc26 Huy hiệu đồng
last_digit = orginal_number % 10
Tôi chưa thể thêm một bình luận, nhưng tôi muốn lặp lại và mở rộng những gì Jim Garrison nóiAug 14, 2020 at 17:37
1
Còn lại khi chia cho 10, như trong số 10 có thể sử dụng
TypeError: 'int' object is not subscriptable
0Trong khi mô đun [%] đang hoạt động như dự định, hãy ném vào giá trị tuyệt đối để sử dụng mô đun trong tình huống này.Jun 28 at 10:29
1
Đã trả lời ngày 21 tháng 2 năm 2017 lúc 21:19
TypeError: 'int' object is not subscriptable
1Micah Pearcemicah PearceNov 5, 2017 at 15:02