1

我正在用 Python 3.2 编写一个程序,该程序需要能够检测字符串是否包含外来字符“å、ä、ö”。我编写了以下代码:

# This Python file uses the following encoding: utf-8

name = input('Give your name: ')

if ('å' in name) or ('ä' in name) or ('ö' in name):
   print('Foreign characters found')

但是,如果我输入例如“Åke”,程序仍然不执行打印命令。为什么会这样?或者您对如何检测给定字符串中的字符“å、ä、ö”有任何其他想法吗?

4

1 回答 1

1

您现在只是检查这三个字符,虽然这不能回答您的问题,但这可能是检查外来字符的更好方法:

try:
    name.encode('ascii')
except UnicodeError:
    print('Foreign characters found')

注意:在 python 2.7 中测试,但我认为它也应该在 3.2 中工作。

于 2012-07-25T15:21:58.257 回答