程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

讓你徹底弄懂Python編程經典案例【考題】之反轉一個值

編輯:Python

學習Python有很多不同的方法,可以看視頻、看博客、看公眾號等。但光說不練,很難有快速的提升。最好能動手去處理實際問題,這樣才能把學到的知識應用得更熟練。

本文和你一起來探索Python編程的經典案例,讓你沉浸式學習Python。助你期末考試拿高分,拿到大廠的心儀offer。你可以先自己拿著題目去思考有多少種不同的解題方案,然後再對照本文解題方法進行比較。有不同的解題方法歡迎到公眾號中跟我一起探討。




一、經典案例【考題】

1.基礎題目:反轉一個三位正整數


輸入: 任意一個三位正整數

輸出: 相應反轉的三位正整數

例:

輸入: 876

輸出: 678

2.進階題目:反轉任意一個字符


輸入: 任意一個字符

輸出: 反轉該字符

例:

輸入:‘你是年少的歡喜’

輸出:‘喜歡的少年是你’


二、經典案例解題方法

方法一:先取出個位、十位、百位上的數,再把位置反轉


定義一個反轉函數,把原始的數作為輸入值。依次取出原始數的個位、十位、百位,再乘以不同的倍數把數的位置進行反轉。

具體代碼如下:

def rev_int1(number):
h1 = int(number/100)
h2 = int(number%100/10)
h3 = int(number%10)
return h3*100+h2*10+h1
rev_int1(876)

得到結果:

678

其中number/100:表示把number除以100。

方法二:先把數變成字符列表,利用range函數倒序拼接


定義一個反轉函數,把原始的數作為輸入值。先把數字變成字符列表,再利用range函數進行倒序拼接。

具體代碼如下:

def rev_all(x):
str_x = list(str(x))
rev_str_x = ''
for i in range(len(str_x)-1, -1, -1):
rev_str_x += str_x[i]
return rev_str_x
rev_all(876)

得到結果:

678

str(x):把x變成一個字符串。

list(str(x)):把字符串變成一個列表。

range(len(str_x)-1, -1, -1):把列表的長度坐標倒序排列。

str_x += str_x[i]:把倒序排列的字符進行合並.

這種方法不僅可以對三位整數進行反轉,而且可以推廣到任意位的整數,進一步可以對任意字符串進行反轉。比如反轉一個四位數

rev_all(4131)

得到結果:

678

比如反轉一個7位字符串

rev_all('你是年少的歡喜')

得到結果:

'喜歡的少年是你'

至此,Python中的編程經典案例【考題】之反轉一個值已講解完畢。如想了解更多Python中的函數,可以到“阿黎逸陽的代碼”公眾號中翻看“學習Python”模塊相關文章。


你可能感興趣:
用Python繪制皮卡丘
用Python繪制詞雲圖
用Python繪制520永恆心動
Python人臉識別—我的眼裡只有你
Python畫好看的星空圖(唯美的背景)
【Python】情人節表白煙花(帶聲音和文字)
用Python中的py2neo庫操作neo4j,搭建關聯圖譜
Python浪漫表白源碼合集(愛心、玫瑰花、照片牆、星空下的告白)

長按(掃一掃)識別上方二維碼學習更多Python和建模知識,讓你的學習和工作更出彩。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved