python语言篇(9练习2)

# 1. 创建一个列表L = []
#    写一个函数 input_number读取数据放入列表L中
#   程序如下:
#     L = []
#     def input_number():
#         # 此处自己加入代码
#         while True:
#             i = int(input("请输入数字(-1结束):"))
#         # 此处自己完成
#     input_number()
#     print("您刚才输入的整数值是:", L)


L = []
def input_number():
    # 此处自己加入代码
    while True:
        i = int(input("请输入数字(-1结束):"))
        if i == -1:
            break
        L.append(i)  # 此时我并没有改变L的绑定关系

input_number()
print("您刚才输入的整数值是:", L)

L = []
def input_number():
    lst = []
    while True:
        i = int(input("请输入数字(-1结束):"))
        if i == -1:
            break
        lst.append(i)
    global L
    L = lst  # 改变变量

input_number()
print("您刚才输入的整数值是:", L)

# 2. 写一个函数isprime(x) 判断x是否为素数,
#    如果为素数返回True,否则返回False
#    测试代码:
#    if isprime(5):
#        print("5素数")


def isprime(x):
    if x <= 1:  # 排除小于2的情况
        return False
    # 判断x的能否被2~x-1的所有因数整除,如果整除则不是素数
    for i in range(2, x):
        if x % i == 0:
            return False
    return True


if isprime(5):
    print("5素数")

# 3. 写一个函数prime_m2n(m, n) 返回从m开始,
#     到n结束范围内素数的列表,并打印
#   L = prime_m2n(10, 20)
#   print(L)  # [11, 13, 17, 19]


def prime_m2n(m, n):
    L = []
    for x in range(m, n):
        # 判断x是否是素数,如果素数则放入列表 L
        if isprime(x):
            L.append(x)
    return L
    # 以下用函数式编程解决上述问题
    # return list(filter(isprime, range(m, n)))


L = prime_m2n(10, 20)
print(L)  # [11, 13, 17, 19]


# 4. 写一个函数primes(n), 返回小于n的所有的素数的列表.
#    L = primes(10)
#    print(L)  # [2, 3, 5, 7]
def primes(n):
    return prime_m2n(2, n)


L = primes(10)
print(L)  # [2, 3, 5, 7]
 

猜你喜欢

转载自blog.csdn.net/Jason_Edison/article/details/88891570