Tôi muốn viết một chương trình chỉ chấp nhận đầu vào 4 chữ số từ người dùng. Vấn đề là tôi muốn chương trình chấp nhận một số như 0007
nhưng không phải là một số như 7
[vì nó không phải là số 4 chữ số].
Làm sao tôi có thể giải quyết việc này? Đây là mã mà tôi đã viết cho đến nay:
while True:
try:
number = int[input["type in a number with four digits: "]]
except ValueError:
print["sorry, i did not understand that! "]
if number > 9999:
print["The number is to big"]
elif number < 0:
print["No negative numbers please!"]
else:
break
print["Good! The number you wrote was", number]
Nhưng nếu tôi nhập 7 vào nó, nó sẽ chỉ nói Good! The number you wrote was 7
Tomerikoo
16.8K16 Huy hiệu vàng39 Huy hiệu bạc57 Huy hiệu đồng16 gold badges39 silver badges57 bronze badges
hỏi ngày 18 tháng 2 năm 2016 lúc 17:48Feb 18, 2016 at 17:48
1
Trước khi đúc đầu vào của người dùng vào số nguyên, bạn có thể kiểm tra xem đầu vào của chúng có 4 chữ số trong đó bằng cách sử dụng hàm len
không:
len["1234"] # returns 4
Tuy nhiên, khi sử dụng hàm int
, Python biến
len["1234"] # returns 4
0 thành 7
đơn giản. Để sửa lỗi này, bạn có thể lưu trữ số của họ trong danh sách trong đó mỗi phần tử danh sách là một chữ số.
Tomerikoo
16.8K16 Huy hiệu vàng39 Huy hiệu bạc57 Huy hiệu đồng16 gold badges39 silver badges57 bronze badges
hỏi ngày 18 tháng 2 năm 2016 lúc 17:48Feb 18, 2016 at 18:15
R21R21R21
Trước khi đúc đầu vào của người dùng vào số nguyên, bạn có thể kiểm tra xem đầu vào của chúng có 4 chữ số trong đó bằng cách sử dụng hàm len
không:2 silver badges12 bronze badges
Tuy nhiên, khi sử dụng hàm int
, Python biến
len["1234"] # returns 4
0 thành 7
đơn giản. Để sửa lỗi này, bạn có thể lưu trữ số của họ trong danh sách trong đó mỗi phần tử danh sách là một chữ số.print["Good! The number you wrote was {:04d}", number]
Đã trả lời ngày 18 tháng 2 năm 2016 lúc 18:15
while True:
try:
number = int[input["Type in a number with four digits: "]]
except ValueError:
print["sorry, i did not understand that! "]
if number > 9999:
print["The number is to big"]
elif number < 0:
print["No negative numbers please!"]
else:
break
# determine number of leading zeros
length = len[str[number]]
zeros = 0
if length == 1:
zeros = 3
elif length == 2:
zeros = 2
elif length == 3:
zeros = 1
# add leading zeros to final number
final_number = ""
for i in range[zeros]:
final_number += '0'
# add user-provided number to end of string
final_number += str[number]
print["Good! The number you wrote was", final_number]
3962 Huy hiệu bạc12 Huy hiệu ĐồngFeb 18, 2016 at 21:28
Nếu đó chỉ là vấn đề định dạng cho mục đích
len["1234"] # returns 4
2, hãy sửa đổi câu lệnh len["1234"] # returns 4
2 của bạn:HenryNếu bạn thực sự muốn lưu trữ các số không hàng đầu, hãy đối xử với số như một chuỗi. Đây có lẽ không phải là giải pháp thanh lịch nhất nhưng nó sẽ chỉ cho bạn đúng hướng:4 bronze badges
1
pin = input["Please enter a 4 digit code!"]
if pin.isdigit[] and len[pin] == 4:
print["You successfully logged in!"]
else:
print["Access denied! Please enter a 4 digit number!"]
Đã trả lời ngày 18 tháng 2 năm 2016 lúc 21:28Aug 9, 2021 at 18:23
In ["Vui lòng nhập số 4 chữ số"]
ngoại trừ giá trị:
#Write Một chương trình chấp nhận số bốn chữ số từ người dùng và đếm số 0, số lẻ và thậm chí các chữ số từ số đã nhập. | |
#input số, dưới dạng chuỗi theo mặc định để bỏ qua nếu ai đó nhập 0000 | |
num = [input ['nhập số 4 chữ số']] = [input['Enter the 4 digit number']] | |
#sử dụng chức năng LEN để tìm độ dài | |
num_length = int [len [num]] = int [len[num]] | |
#sử dụng thử ngoại trừ để phát hiện lỗi đầu vào | |
thử : : | |
#kiểm tra xem độ dài hơn 4 hoặc không | |
if [num_length == 4]: [num_length == 4] : | |
#convert chuỗi thành số | |
num = int [num] = int [num] | |
#print [f "Độ dài của số là {num_length} \ n"] | |
#Declared giá trị tiêu chuẩn | |
i=1 = 1 | |
even_count=0 = 0 | |
odd_count=0 = 0 | |
zero_count=0 = 0 | |
#extracting các số và tìm 0, chẵn và số lẻ | |
trong khi tôi [i Chủ Đề |