了解我的不区分大小写的列表比较
Understanding my case insensitive list comparison
我正在学习 Python 速成课程书。我正在做我主要设法弄清楚的练习之一。我似乎无法获得一小段代码。
练习:
Compare two lists, one of current_users
one of new_users
. Make sure they are case insensitive.
我想知道为什么当我将 current_users
转换为小写时,第一次打印时 'andy657'
仍然被读取为可用吗?
代码:
current_users = ['nedboy78', 'codingking678', 'johnnykapahala','jam95','python65','ANDY657']
new_users = ['hamlet56', 'python65', 'jam95','todds4','andy657']
current_users_convert = [current_user.lower() for current_user in current_users]
for new_user in new_users:
if new_user in current_users:
print("sorry username " + new_user + ' not available pick a new username')
else:
print("username " + new_user + ' is available')
if new_user in current_users_convert:
print("CANT USE " + new_user + " AS A USERNAME")
输出:
username hamlet56 is available
sorry username python65 not available pick a new username
CANT USE python65 AS A USERNAME
sorry username jam95 not available pick a new username
CANT USE jam95 AS A USERNAME
username todds4 is available
username andy657 is available
CANT USE andy657 AS A USERNAME
那是因为你的 else
条件在最后一个 if
条件之前执行。所以我在这里更改顺序。
current_users = ['nedboy78', 'codingking678', 'johnnykapahala','jam95','python65','ANDY657']
new_users = ['hamlet56', 'python65', 'jam95','todds4','andy657']
current_users_convert = [current_user.lower() for current_user in current_users]
for new_user in new_users:
if new_user in current_users:
print(f'sorry username {new_user} not available pick a new username')
elif new_user in current_users_convert:
print(f"CANT USE {new_user} AS A USERNAME")
else:
print(f'username {new_user} is available')
输出:
username hamlet56 is available
sorry username python65 not available pick a new username
sorry username jam95 not available pick a new username
username todds4 is available
CANT USE andy657 AS A USERNAME
我正在学习 Python 速成课程书。我正在做我主要设法弄清楚的练习之一。我似乎无法获得一小段代码。
练习:
Compare two lists, one of
current_users
one ofnew_users
. Make sure they are case insensitive.
我想知道为什么当我将 current_users
转换为小写时,第一次打印时 'andy657'
仍然被读取为可用吗?
代码:
current_users = ['nedboy78', 'codingking678', 'johnnykapahala','jam95','python65','ANDY657']
new_users = ['hamlet56', 'python65', 'jam95','todds4','andy657']
current_users_convert = [current_user.lower() for current_user in current_users]
for new_user in new_users:
if new_user in current_users:
print("sorry username " + new_user + ' not available pick a new username')
else:
print("username " + new_user + ' is available')
if new_user in current_users_convert:
print("CANT USE " + new_user + " AS A USERNAME")
输出:
username hamlet56 is available
sorry username python65 not available pick a new username
CANT USE python65 AS A USERNAME
sorry username jam95 not available pick a new username
CANT USE jam95 AS A USERNAME
username todds4 is available
username andy657 is available
CANT USE andy657 AS A USERNAME
那是因为你的 else
条件在最后一个 if
条件之前执行。所以我在这里更改顺序。
current_users = ['nedboy78', 'codingking678', 'johnnykapahala','jam95','python65','ANDY657']
new_users = ['hamlet56', 'python65', 'jam95','todds4','andy657']
current_users_convert = [current_user.lower() for current_user in current_users]
for new_user in new_users:
if new_user in current_users:
print(f'sorry username {new_user} not available pick a new username')
elif new_user in current_users_convert:
print(f"CANT USE {new_user} AS A USERNAME")
else:
print(f'username {new_user} is available')
输出:
username hamlet56 is available
sorry username python65 not available pick a new username
sorry username jam95 not available pick a new username
username todds4 is available
CANT USE andy657 AS A USERNAME