在編寫一些小程序時(shí),我需要比較兩個(gè)字符串是否相同。一開始的思路是使用ord()函數(shù)獲取字符的整數(shù)表示,但是調(diào)試過后發(fā)現(xiàn),ord()函數(shù)傳入的漢字、英文、或者數(shù)字,必須是單個(gè)的文字,而不能是一個(gè)長度大于1的字符串。ipython給的報(bào)錯(cuò)是這樣的
TypeError: ord() expected a character,but string of lenth 4 found
這也提醒了我,我的python編程基礎(chǔ)不是很牢固,一些基本的函數(shù)特性沒有弄清楚。今后一定要多多注意。
知道了問題出在哪里,就為接下來解決問題提供了思路和方向。
我們可以利用python的切片功能,很好的從字符串中單個(gè)、依次的挑選出文字,并利用ord()函數(shù)獲取其整數(shù)表示。具體代碼如下:
# -*- coding: utf-8 -*-# @Date : 2018-03-01 12:51:08# @Author : Termal (Termal@example.org)# @Link : http://Thermal.org#功能:比較a,b兩個(gè)字符串是否相同def comparison(a,b): ib=0 for ia in range(len(a)): if ord(a[ia:ia+1])-ord(b[ib:ib+1])==0: ib=ib+1 if ib==len(b): print('a and b are equall') else: print('a and b are not equall') break
作為一個(gè)python初學(xué)者,代碼方面難免出現(xiàn)錯(cuò)誤,如果發(fā)現(xiàn)錯(cuò)誤,或者有更好的方法,可以給我留言,我會(huì)及時(shí)改正,在此先謝謝大家。
以上這篇使用python語言,比較兩個(gè)字符串是否相同的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林站長站。
新聞熱點(diǎn)
疑難解答
圖片精選