2016-01-12 66 views
0

我是一個Python新手,我問如何讓Python來檢測變量是否以一組字母開頭。像A-L一樣。如何使用Python來檢查字符串的第一個字母是否在一定範圍內?

到目前爲止,我有這樣的:

import time 
import os 
title = input("Hello! What is your title? (As in Miss Mr etc) ") 
name = input("Okay! Now what is your name? ") 
sname = input("Okay, now what is your surname? ") 
print("Okay, now what is your date of birth?") 
dob = input("Type it like this: 26.9.00: ") 
email = input("Okay! Please type in your E-mail: ") 
phonenum = input("One last thing now! Please type in your phone number: ") 
if name in range(A, L): 
    print("This works!") 
else: 
    print("This doesn't work...") 

這不工作,雖然。

+0

'如果name [0] 'ABCDEFGHIJKL':'? '範圍'是整數,它是半開放的(不包括上限),'A'和'L'沒有引號就是標識符,所以沒有理由認爲你應該工作。 – jonrsharpe

+0

請編輯標題,以便作爲英語問題使用。 –

回答

2

你只想要名字的第一個字符,而不是整個名字。一種方法是轉換爲整數的字符表示:

if ord(name[0]) in range(ord('A'), ord('M')): 

注意range不包括最後的終點,所以你需要去一個字母過去,你要檢查什麼。

+0

謝謝!你只是解決了這個問題! – martin4509

0

以前的答案是好的,但過度設計,只是檢查wheter比大於較小的一個小更大:

if 'A' <= name[x] <= 'M': 
相關問題