python二十四:python练习题

1.布尔值为False的值

b = ""
b = None
b = ()
b = []
b = {}
b = False
b = 0
print(b, bool(b))

2.计算一个范围内,既能被5除,又能被7除的数的个数,和所有这些数的和

# 循环写法
def func(start, end):
    ret = []
    cnt = 0
    sum = 0
    while start <= end:
        if (start%5 == 0 and start%6 == 0):
             cnt += 1
             sum += start
             print(start)
        start += 1
    ret.append(cnt)
    ret.append(sum)
    return ret

res = func(25,90)
print(res)


# 递归写法
def func(start, end, a=0, b=0):
    if start % 5==0 and start % 6 ==0:
        a += 1
        b += start
    if start == end:
        return a, b
    res = func(start+1, end, a, b)
    return res

v = func(30,90)
print(v)

3. 函数的默认返回值是None

4. 三元运算书写格式:  变量 = 值一 if条件一 else 值二

5. 通过id()函数查看对象内存地址

6. 判断字符串中大写,小写字母,数字的个数

dic = {"upper":0, "lower":0, "digit":0}
s = "ABcde1234"
for i in s:
    if i.isupper():
        dic["upper"] = dic.get("upper")+1
    if i.islower():
        dic["lower"] = dic.get("lower") + 1
    if i.isnumeric():
        dic["digit"] = dic.get("digit") + 1

print(dic)

7. 简单叙述python函数的参数类型:

   位置参数: 按形参的位置传入,也就是普通参数.

   关键字参数 **kwargs: 

  默认参数: 形参直接指定默认值的参数.

  可变长参数: *args, ,一个星可以接收没有位置参数的实参或列表,元祖参数。 两个星可以接收关键字参数,和字典格式.

 可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。

 上图转载:https://www.cnblogs.com/Commence/p/5578215.html

# 错误的写法,两个星的参数必须放到一个星的参数的后面
#def func(**x, *y):
#    print(x,y)

8. rang函数在3.x版本和2.7版本的不同

  3.x: range不会生成值,只有用的时候才会生成。

  2.7: range会直接生成一个列表,值已经生成.

9. 利用with实现同时打开两个文件,一个文件读,一个文件写

with open("三国人物", "r", encoding="utf-8") as rd, open("new","w",encoding="utf-8") as wt:
    wt.write(rd.read())

猜你喜欢

转载自blog.csdn.net/m0_37564426/article/details/81349741