### 1.Python 是强语言类型还是弱语言类型?
Python 是强类型的动态脚本语言。
强类型:不允许不同类型相加。
动态:不使用显示数据类型声明,且确定一个变量的类型是在第一次给它赋值的时候。
脚本语言:一般也是解释型语言,运行代码只需要一个解释器,不需要编译。
### 2.a=1,b=2,不用中间变量交换 a 和 b 的值?
a,b=b,a
### 3.Python2 中 range 和 xrange 的区别?
两者用法相同,不同的是 range 返回的结果是一个列表,而 xrange 的结果是一个生成器,前者是
直接开辟一块内存空间来保存列表,后者是边循环边使用,只有使用时才会开辟内存空间,所以当列表
很长时,使用 xrange 性能要比 range 好
### 4.以下 Python 程序的输出?
```python
for i in range(5,0,-1):
print(i)
```
5,4,3,2,1
### 5.read、readline 和 readlines 的区别?
read:读取整个文件。
readline:读取下一行,使用生成器方法。
readlines:读取整个文件到一个迭代器以供我们遍历。
### 6.有大小写字母的字符串,要求是如果字符串中大写字母的数量小于等于小写字母的数量,则把字符串全部变小写,反之则将字符串全部变为大写
```python
#示例
solve('coDe')——>>'code'
solve('CODe')——>>'CODE'
def solve(s):
upper_num = 0
lower_num = 0
for i in s:
if i,isupper():
upper_num +=1
elif i.islower():
lower_num +=1
if upper_num > lower_num:
return s.upper()
else:
return s.lower()
def foo(s):
upper_num = sum(l.isupper() for l in s)
lower_num = sum(l.islower() for l in s)
return [s.upper(),s.lower()][lower_num>=upper_num]
```
### 7.现有字典 d={‘a’:24,‘g’:52,‘i’:12,‘k’:33}请按字典中的 value值进行排序?
```python
sorted(d.items(),key = lambda x:x[1])
```
#d={‘a’:24,‘g’:52,‘i’:12,‘k’:33}
# print(sorted(d.items(),key=lambda x:x[1],reverse=True))
### 8.将字符串"k:1|k1:2|k2:3|k3:4",处理成 Python 字典:{‘k’:1, ‘k1’:2, ... }
```python
# new_str = "k:1|k1:2|k2:3|k3:4"
# dic = {}
# for item in new_str.split('|'):
# k,v = item.split(':')
# dic[k]=int(v)
# print(dic)
```
### 9.请用迭代器实现斐波那契数列?
简单地说,起始两项为 0 和 1,此后的项分别为它的前两项之和
```python
# def fib(n):
# current = 0
# num1, num2 = 0, 1
# while current < n:
# num = num1
# num1, num2 = num2, num1+num2
# current += 1
# yield num
# return "done"
```
### 10.请用递归的方式打印出下列数据类型中每一个元素
```python
l = [1,[2,[3,[4,[5,[6,[7,[8,[9]]]]]]]]]
```
```python
# l = [1,[2,[3,[4,[5,[6,[7,[8,[9]]]]]]]]]
# def get_val(l):
# for i in l:
# if isinstance(i,int):
# print(i)
# else:
# get_val(i)
# return
```