問答題
P93 3.4 回文數(shù)判斷。設(shè)n是一任意自然數(shù),如果n的各位數(shù)字反向排列所得自然數(shù)與n相等,則n被稱為回文數(shù)。從鍵盤里輸入一個5位數(shù)字,請編寫程序判斷這個數(shù)字是不是回文數(shù)
答案:
要判斷一個5位數(shù)是否是回文數(shù),可以通過比較這個數(shù)與其反向排列后的數(shù)是否相等來實現(xiàn)。下面是一個簡單的Python程序示例,用于判斷輸入的5位數(shù)是否是回文數(shù):
```python
# 從鍵盤讀取一個5位數(shù)
num = input("請輸入一個5位數(shù): ")
# 檢查輸入是否為5位數(shù)
if len(num) != 5 or not num.isdigit():
print("輸入錯誤,請輸入一個5位的自然數(shù)。")
else:
# 將輸入的字符串轉(zhuǎn)換為整數(shù)
num = int(num)
# 計算反向排列后的數(shù)
reversed_num = int(str(num)[::-1])
# 判斷是否為回文數(shù)
if num == reversed_num:
print(f"{num} 是回文數(shù)。")
else:
print(f"{num} 不是回文數(shù)。")
```
這段代碼首先提示用戶輸入一個5位數(shù),然后檢查輸入是否符合要求(即是否為5位數(shù)且全部由數(shù)字組成)。如果輸入有效,程序會將輸入的數(shù)字轉(zhuǎn)換為整數(shù),然后將其轉(zhuǎn)換為字符串并進行反向排列,最后將反向排列后的字符串轉(zhuǎn)換回整數(shù)。通過比較原始數(shù)字和反向排列后的數(shù)字是否相等,程序可以判斷出輸入的數(shù)字是否是回文數(shù),并輸出相應(yīng)的結(jié)果。