几道python练习题

时间:2023-02-23 00:03:02
1.编写函数,判断一个整数是否为素数,并编写主程序调用该函数

    练习目标:掌握函数的定义和调用

import math 
def isprime(n):
    if n == 0:
        return False
    elif n == 1:
        return True
    else:
        for i in range (2,int(math.sqrt(n)+1)):
            if n%i == 0:
                return  False
        return True


a = []
for i in range(2,100):
    if isprime(i):
        a.append(i)
print(a)

执行结果:

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

2.编写函数接受一个字符串,分别统计大写字母,小写字母、数字其他字符的个数,以元组的形式返回结果

        练习目标:掌握函数的定义和调用

def stringutil():
    str = "本次实验主要学习了Linux下的一些常用命令以及vi0编辑器的2实用,对于一个Linux的2系统管理员,掌握这些2命令的使用是非常重要的,因为这些命令不仅可以让系统管理员了解到系统的运行情况,还可以了解到磁盘及内存的占用情况,以便系统管理员根据情况作出相应调整。Linux下的这些命令功能都很强大,每个命令都有许多参数,学习起来有一定的难度,所以要学好这些命令的使用,还必需多练习。"
    word_list = {'upper':0,'lower':0,'number':0,'other':0}
    for s in str:
        if s>='A' and s<='Z' :
            word_list['upper']+=1
        elif s>='a' and s<='z' :
            word_list['lower']+=1
        elif s>='0' and s<='9' :
            word_list['number']+=1
        else:
            word_list['other']+=1
    return word_list
        
list1 = stringutil()
print(list1)

执行结果:

{'lower': 14, 'other': 170, 'number': 4, 'upper': 3}

3.在Python程序中,局部变量会隐藏同名的全局变量码?验证。

   练习目标:了解变量的作用域

#定义学生人数为3000
STUDENT_NUMBER = 30000
#学校名称
SCHOOL_NAME = 'HeBei University Of Economic & Bussiness'

"""\
    获取全局变量:学生人数STUDENT_NUMBER的值
"""
def getStudentNumber():
    return STUDENT_NUMBER
"""\
    重置全局变量:学生人数STUDENT_NUMBER值
"""
def setStudentNumber(num):
    global STUDENT_NUMBER
    STUDENT_NUMBER = num
"""\
    获取全局变量:学校名称SCHOOL_NAME的值
"""
def getSchoolName():
    return SCHOOL_NAME
"""\
    重置全局变量:学校名称SCHOOL_NAME值
"""
def setSchoolName(name):
    global SCHOOL_NAME
    SCHOOL_NAME = name

def changeValue():
    name = '河北经贸大学'
    number = 10000
    print('全局变量STUDENT_NUMBER = ' , getStudentNumber())
    print('全局变量SCHOOL_NAME = ' , getSchoolName())
    print('=================================')
    print('局部变量namber = ' , number)
    print('局部变量name = ' , name)
    print('=================================')
    print('改变全局变量值...')
    print('=================================')
    setStudentNumber(number)
    setSchoolName(name)
    print('全局变量STUDENT_NUMBER = ' , getStudentNumber())
    print('全局变量SCHOOL_NAME = ' , getSchoolName())

if __name__ == '__main__':
    changeValue()

 执行结果:

全局变量STUDENT_NUMBER =  30000
全局变量SCHOOL_NAME =  HeBei University Of Economic & Bussiness
=================================
局部变量namber =  10000
局部变量name =  河北经贸大学
=================================
改变全局变量值...
=================================
全局变量STUDENT_NUMBER =  10000
全局变量SCHOOL_NAME =  河北经贸大学


4.使用lambda表达式定义函数,计算三个整数的平方和并且一个参数默认是5。

        练习目标:掌握lambda表达式和默认值参数

f = lambda x,y : x*x + y*y + 5*5
a = f(1,2)
print(a)
执行结果: 30