網(wǎng)站后臺(tái)建設(shè)計(jì)劃書微信做單30元一單
實(shí)例1:判斷4位回文數(shù)
所謂回文數(shù),就是各位數(shù)字從高位到低位正序排列和從低位到高位逆序排列都是同一數(shù)值的數(shù),例如,數(shù)字1221按正序和逆序排列都為1221,因此1221就是一個(gè)回文數(shù);而1234的各位按倒序排列是4321,4321與1234不是同一個(gè)數(shù), 因此1234就不是一個(gè)回文數(shù)。
本實(shí)例要求編寫程序,判斷輸入的4位整數(shù)是否是回文數(shù)。
實(shí)例目標(biāo)
- 掌握if-else語句的用法
實(shí)例分析
判斷一個(gè)4位數(shù)是否是回文數(shù),可以將這個(gè)4位數(shù)進(jìn)行拆分,并進(jìn)行重新組合,比較重新組合后的大小與原數(shù)大小是否相等,如果相等則該數(shù)為回文數(shù),如果不相等,則該數(shù)不是回文數(shù)。例如,abcd是一個(gè)4位數(shù),使用(abcd/1000)方式獲取千位上的數(shù)字、使用(abcd/100%10)方式獲取百位上的數(shù)字、使用(abcd/10%10)獲取十位上的數(shù)字、使用(abcd%10)獲取個(gè)位上的數(shù)字,根據(jù)回文數(shù)規(guī)則可以使用d*1000+c*100+b*10+a表示重新組合的數(shù)字,如果abcd與dbca值相等,那么它就是一個(gè)回文數(shù),如果abcd與dbca值不相等,那么它就不是回文數(shù)。
代碼實(shí)現(xiàn)
palindrome_num = int(input("請(qǐng)輸入一個(gè)四位數(shù):"))
single = int(palindrome_num / 1000)
ten = int(palindrome_num / 100 % 10)
hundred = int(palindrome_num / 10 % 10)
ths = int(palindrome_num % 10)
reverse_order = ths * 1000 + hundred * 100 + ten * 10 + single
if palindrome_num == reverse_order:
??? print(palindrome_num,"是回文數(shù)")
else:
??? print(palindrome_num,"不是回文數(shù)")
首先使用input()函數(shù)接收輸入的四位數(shù)、使用int()函數(shù)將接收的數(shù)據(jù)換為int類型并賦值給變量palindrome_num,然后對(duì)輸入的四位數(shù)進(jìn)行拆分分別將個(gè)位數(shù)字、十位數(shù)字、百位數(shù)字、千位數(shù)字賦給變量single、ten、hundred、ths,接著將獲取到的數(shù)字按照回文數(shù)的特點(diǎn)重新組合一個(gè)新的四位數(shù)并賦值給變量reverse_order,最后使用if-else語句判斷變量reverse_num的值與變量palindrome_num的值是否相等,如果相等,則為回文數(shù)。
代碼測(cè)試
運(yùn)行代碼,控制臺(tái)輸出結(jié)果如下(是回文數(shù)):
請(qǐng)輸入一個(gè)四位數(shù):1221
1221 是回文數(shù)
運(yùn)行代碼,控制臺(tái)輸出結(jié)果如下(不是回文數(shù)):
請(qǐng)輸入一個(gè)四位數(shù):1200
1200 不是回文數(shù)