给一道python简单面试题 并附上答案
时间: 2023-12-10 10:41:13 浏览: 30
题目:写一个函数,接受一个字符串作为参数,返回该字符串中第一个不重复的字符。如果没有不重复的字符,返回 None。
例如,输入 "leetcode",返回 "l";输入 "loveleetcode",返回 "v";输入 "aabbcc",返回 None。
答案:
```python
def first_unique_char(s: str) -> str:
counter = {}
for c in s:
counter[c] = counter.get(c, 0) + 1
for c in s:
if counter[c] == 1:
return c
return None
```
解释:
首先使用一个字典来统计每个字符出现的次数。然后再次遍历字符串,找到第一个出现次数为 1 的字符,返回它。如果遍历完整个字符串都没有找到出现次数为 1 的字符,说明没有不重复的字符,返回 None。
相关问题
python基础面试题及答案
1. 什么是Python?
Python是一种高级、通用、解释型编程语言。它被设计成易读、易理解和易编写的,具有简洁和可读性强的语法结构,适用于各种应用领域。
2. Python的特点有哪些?
Python具有以下特点:
- 简单易学:Python的语法简洁明了,容易上手。
- 开发效率高:Python提供了丰富的库和工具,可以快速开发应用。
- 可移植性强:Python可以在多种操作系统上运行。
- 可扩展性好:Python支持集成其他语言(如C/C++)编写的模块。
- 面向对象:Python支持面向对象编程,可以方便地进行模块化和重用。
- 强大的社区支持:Python有庞大的开源社区,提供了丰富的资源和支持。
3. Python中如何注释代码?
在Python中,可以使用两种方式进行注释:
- 单行注释:使用井号(#)将注释内容放在代码行的末尾。
- 多行注释:使用三个引号(''' 或 """)将多行注释括起来。
例如:
```python
# 这是一个单行注释
'''
这是一个
多行注释
'''
```
4. Python中如何定义变量?
在Python中,可以直接给变量赋值来定义变量。Python是动态类型语言,不需要显式地声明变量的类型。
例如:
```python
name = 'Alice' # 定义一个字符串变量
age = 25 # 定义一个整数变量
pi = 3.14 # 定义一个浮点数变量
```
5. 如何在Python中输出内容?
在Python中,可以使用print()函数来输出内容到控制台。
例如:
```python
print('Hello, World!') # 输出字符串
print(10) # 输出整数
print(3.14) # 输出浮点数
```
以上是一些常见的Python基础面试题及答案,希望能对你有所帮助。如果你有其他问题,可以继续提问。
20道Python常见面试题,附答案
1. 什么是Python?
Python是一种高级编程语言,它是一种解释性语言,可以在各种操作系统上运行。
2. Python的特点是什么?
Python具有简单、易于学习、易于阅读、易于维护、可扩展性强、可移植性好等特点。
3. Python中的缩进是什么意思?
Python使用缩进来表示代码块,而不是使用花括号或关键字来表示。缩进必须是4个空格或一个制表符。
4. 如何在Python中定义一个变量?
在Python中定义变量时,不需要指定变量的类型。只需要使用一个等号来给变量赋值即可。
例如,x = 5
5. Python中有哪些数据类型?
Python中有整数、浮点数、复数、字符串、布尔值、列表、元组、字典等数据类型。
6. 如何在Python中定义一个函数?
在Python中定义一个函数,需要使用def关键字,后面跟着函数的名称和参数列表。函数体需要缩进。
例如,def functionName(parameter1, parameter2):
7. Python中的if语句是怎样的?
在Python中,if语句使用冒号来表示代码块的开始。if语句的条件可以是任何返回布尔值的表达式。
例如,if x > 5:
8. Python中的for循环是怎样的?
在Python中,for循环可以遍历任何可迭代对象,例如列表、元组、字符串等。在循环内部,可以使用break和continue关键字来控制循环的执行。
例如,for item in myList:
9. Python中的while循环是怎样的?
在Python中,while循环使用条件表达式来控制循环的执行。在循环内部,可以使用break和continue关键字来控制循环的执行。
例如,while x > 0:
10. 如何在Python中读取文件?
在Python中,可以使用open()函数打开文件,并使用read()函数读取文件中的内容。
例如,file = open("filename.txt", "r")
content = file.read()
11. 如何在Python中写入文件?
在Python中,可以使用open()函数打开文件,并使用write()函数将内容写入文件。
例如,file = open("filename.txt", "w")
file.write("Hello World")
12. 如何在Python中创建一个列表?
在Python中,可以使用中括号来创建一个列表。在列表中可以包含任何类型的数据。
例如,myList = [1, 2, 3, "Hello World"]
13. 如何在Python中创建一个字典?
在Python中,可以使用花括号来创建一个字典。字典由键值对组成,每个键值对之间用逗号隔开。
例如,myDict = {"name": "Tom", "age": 20}
14. 如何在Python中使用模块?
在Python中,可以使用import语句导入模块。导入模块后,可以使用模块中的函数和变量。
例如,import math
print(math.pi)
15. 如何在Python中处理异常?
在Python中,可以使用try/except语句来处理异常。在try块中执行代码,如果出现异常,则执行except块中的代码。
例如,
try:
x = 1 / 0
except ZeroDivisionError:
print("Error: Division by zero")
16. 如何在Python中调用函数?
在Python中,可以使用函数名和参数列表来调用函数。函数可以返回任何类型的值。
例如,myFunction(parameter1, parameter2)
17. 如何在Python中定义一个类?
在Python中,可以使用class关键字来定义一个类。类包含属性和方法。
例如,
class MyClass:
def __init__(self, parameter1, parameter2):
self.parameter1 = parameter1
self.parameter2 = parameter2
def myMethod(self):
print("Hello World")
18. 如何在Python中使用继承?
在Python中,可以使用class关键字来定义一个类,并使用继承来派生子类。子类可以使用父类的属性和方法。
例如,
class MySubClass(MyClass):
def __init__(self, parameter1, parameter2, parameter3):
super().__init__(parameter1, parameter2)
self.parameter3 = parameter3
19. 如何在Python中使用装饰器?
在Python中,装饰器是一种特殊的函数,可以用来修改其他函数的行为。装饰器通常用于添加日志、验证、缓存等功能。
例如,
def myDecorator(func):
def wrapper():
print("Before function call")
func()
print("After function call")
return wrapper
@myDecorator
def myFunction():
print("Hello World")
20. 如何在Python中使用生成器?
在Python中,生成器是一种特殊的函数,可以用来生成序列。生成器可以一次生成一个值,并在下一次请求时生成下一个值。
例如,
def myGenerator():
yield 1
yield 2
yield 3
for i in myGenerator():
print(i)