备考计算机二级Python之Day5作业编程题

部署运行你感兴趣的模型镜像

1、实现isNum()函数,参数为一个字符串,如果这个字符串属于整数、浮点数或复数的表示,则返回True,否则返回False。

def isNum(p):  
    try:  
        q = eval(p)  # 尝试将字符串转换为数字  
        return True  # 如果没有异常,说明是数字,返回 True  
    except:  
        print("您输入的字符串不是整数、浮点数或复数")  
        return False  # 如果有异常,说明不是数字,返回 False  
  
s = input("请输入一个字符串:")  # 使用 input 获取字符串,不需要再用 eval  
print(isNum(s))  # 调用 isNum 函数并打印结果

2、实现isPrime()函数,参数为整数,要有异常处理。如果整数是质数,返回True,否则返回False。

def isPrime(n):  
    # 假设此时n已经是一个整数  
    if n < 2:  
        return False  
    for i in range(2, int(n**0.5) + 1):  
        if n % i == 0:  
            return False  
    return True  
  
# 测试函数,确保在调用isPrime之前验证输入  
def test_is_prime(input_value):  
    try:  
        n = int(input_value)  # 在这里尝试将输入转换为整数  
        print(isPrime(n))  
    except ValueError:  
        print("输入必须是一个整数")  
  
# 使用test_is_prime进行测试  
test_is_prime(17)  # 应该输出True  
test_is_prime(4)   # 应该输出False  
test_is_prime("1.5") # 应该输出"输入必须是一个整数"

3、编写一个函数计算传入字符中数字、字母、空格以及其他字符的个数。

def f(s):  
    count1 = 0  
    count2 = 0  
    count3 = 0  
    count4 = 0  
    for char in s:  
        if 48 <= ord(char) <= 57:  
            count1 += 1  
        elif (65 <= ord(char) <= 90) or (97 <= ord(char) <= 122):  
            count2 += 1  
        elif char == " ":  
            count3 += 1  
        else:  
            count4 += 1  
    return count1, count2, count3, count4  
  
s = input("请输入一个字符串:")  
print(s)  
result = f(s)  
print("数字个数:", result[0])  
print("字母个数:", result[1])  
print("空格个数:", result[2])  
print("其他字符个数:", result[3])

4、编写一个函数,打印200以内的所有素数,以空格分割。

def print_primes_under_200():  
    # 打印2,因为2是唯一的偶数素数  
    print(2, end=' ')  
      
    # 从3开始遍历到200(包含)  
    for num in range(3, 201):  
        # 假设num是素数  
        is_prime = True  
          
        # 检查num是否能被2到sqrt(num)之间的任何数整除  
        for i in range(2, int(num**0.5) + 1):  
            if num % i == 0:  
                # 如果能被整除,则num不是素数  
                is_prime = False  
                break  
          
        # 如果num是素数,则打印它  
        if is_prime:  
            print(num, end=' ')  
  
# 调用函数  
print_primes_under_200()

5、编写一个函数,参数为一个整数n。利用递归获取斐波那契数列中第n个数并返回。

def f(n):  
    if n == 0:  
        return 1  
    elif n == 1:  
        return 1  
    else:  
        return f(n-1) + f(n-2)  
  
n = eval(input("请输入一个整数:"))  
print(f(n))

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值