ord()函數主要用來返回對應字符的ascii碼,chr()主要用來表示ascii碼對應的字符他的輸入時數字,可以用十進制,也可以用十六進制。
例如:print ord('a)
#97
print chr(97)
#a
print chr(0x61)
#a
一個簡單的程序來靈活運用。
str1='asdfasdf123123'
for i in rang(len(str1)):
print chr(ord(str1[i])-1)
#以上程序主要實現對字符串str1里面所有的字符,轉換成ascii碼中比他們小一位的字符。
題目:兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出三隊賽手的名單。
for i in range(ord('x'),ord('z') + 1): for j in range(ord('x'),ord('z') + 1): if i != j: for k in range(ord('x'),ord('z') + 1): if (i != k) and (j != k): if (i != ord('x')) and (k != ord('x')) and (k != ord('z')): print 'order is a -- %s\t b -- %s\tc--%s' % (chr(i),chr(j),chr(k))
應用:
可以用來生成隨機驗證碼:
import random # 1X3Y3ZX def make_code(size=7): res = '' for i in range(size): # 循環一次則得到一個隨機字符(字母/數字) s = chr(random.randint(65, 90)) num = str(random.randint(0, 9)) res += random.choice([s, num]) return res res=make_code() print(res)