python选修课大作业

(1)找出所有和为S的连续正数序列。

设计内容:输入一个正整数S(S>2),输出所有和为S的连续正整数序列。要求先输出符合要求的序列的数目,然后分行输出各个序列。

设计要求:使用Python编程。例如,一组连续正数和为100的序列:18,19,20,21,22。

 


"""
(1)找出所有和为S的连续正数序列。
设计内容:输入一个正整数S(S>2),输出所有和为S的连续正整数序列。
要求先输出符合要求的序列的数目,然后分行输出各个序列。
设计要求:使用Python编程。例如,一组连续正数和为100的序列:18,19,20,21,22。

"""


S = int(input("请输入一个大于2的正整数: "))
s1 = int((S+1) / 2)   # 一个数的和 不会大于它前 二分之一(奇数向取整)的和
sum = 0
list1 = []
for i in range(1,s1+1):
    for j in range(i,s1+1):
        sum += j
        if sum == S:
            #list() 方法将元组转换为列表
            #range() 左闭右开
            #将符合的序列以列表存储,
            list1.append(list(range(i,j+1)))
            sum = 0
            break
        if sum > S:  #减少算法开销,大于了直接退出
            sum = 0
            break
print("符合要求的序列数目为: " ,len(list1))
print(list1)

(2)验证“哥德巴赫猜想”。

设计内容:任何一个大于2的偶数都可以分解为两个素数之和,这就是著名的哥达巴赫猜想。

设计要求:要求输入一个大于2的偶数,程序运行后,输出两个素数,其和正好等于该偶数。

"""
(2)验证“哥德巴赫猜想”。
设计内容:任何一个大于2的偶数都可以分解为两个素数之和,这就是著名的哥达巴赫猜想。
设计要求:要求输入一个大于2的偶数,程序运行后,输出两个素数,其和正好等于该偶数。

"""
num = int(input("请输入一个大于2的偶数: "))
num1 = int((num+1)/2)

for i in range(1,num1):
    a = i
    b = num - i
    if (a+1) % 2 == 0 & (b+1) % 2 ==0:
        print(str(num)+"="+str(a)+"+"+str(b))

(3)文本的查找与替换

设计内容:对文本文件中的字符串进行替换,并将替换后的内容存入另一个文本文件。

设计要求:结合文本文件的操作与异常事件的处理。文本文件及内容自行创建设计(不少于10行)

 

猜你喜欢

转载自blog.csdn.net/qq_43200143/article/details/113842351
今日推荐