Python期末复习小总结

Python期末复习小总结,第1张

Python期末复习小总结 Python作业题复习汇总

(自己个人总结的,可能会有很多错误,请谅解

别问我,为啥搞这玩意,闲着慌,md,看汇编去了,y1s1,我真棒)

第一章

1.在Python集成开发环境中,可使用(F5)快捷键运行程序。

2.Python中的多行语句可以使用反斜杠来实现。(错误)

3.利用turtle库绘制一个斜螺旋线,效果如下图所示。

代码:

if __name__ == '__main__':
    import turtle
    turtle.pensize(2)
    turtle.speed(10)
    colors = ['red', 'yellow', 'purple', 'blue']
    for x in range(100):
        turtle.pencolor(colors[x % 4])
        turtle.forward(2 * x)
        turtle.left(91)
    turtle.exitonclick()
第二章
  1. Python基本类型:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sg4UhKl0-1636956777512)(C:Users27370AppDataRoamingTyporatypora-user-imagesimage-20211108161159168.png)]

  2. 1的布尔值不是False,而None,0,()等的布尔值都相当于False。

  3. Python不支持数据类型char,但支持String。

  4. 语句 x=“10”,y=20;print(x+y)的运行结果是()

    TypeError: can only concatenate str (not “int”) to str 报错无法运行

  5. 能将其他进制的数转化成十六进制的函数是(hex())

    不同进制的数可以通过Python内置函数相互转化:

    (1)bin()函数:将其他进制的数转换成二进制数。

    (2) int()函数 : 将其他进制的数转换成十进制数。

    (3)oct()函数:将其他进制的数转换成八进制数。

    (4) hex()函数: 将其他进制的数转换成十六进制数。

  6. Python变量命名注意事项:

    1、变量名的长度不受限制,但其中的字符必须是字母、数字、或者下划线,而不能使用空格、连字符、标点符号、引号或其他字符。

    2、变量名的第一个字符不能是数字,必须是字母或下划线。

    3、Python区分大小写。

    4、不能将Python关键字用作变量名。

  7. python支持丰富的数据类型,其中标准的数据类型有(数字),(字符串),(列表),(元组),(字典),(集合)

  8. 用Python实现判断一个标识符word是不是保留字

    import keyword

    print(keyword.iskeyword(word))

    输出为 False : 不是保留字

    True:是保留字

第三章

​ 1.下列代码:

a = 9
b = 2
print(a // b) #4
print(a ** b) #81

// : 向下取整数 **:表示幂运算

​ 2.下列表达式中,返回True的是( B)

  • A

    a=2

    b=2

    a=b

    TypeError: ‘a’ is an invalid keyword argument for print()

  • B

    3>2>1

    True(相当于3>2 && 2>1)

  • C

    True and False

    False

  • D

    2!=2

    False

​ 3.x = (y = z + 1)

​ x被赋值 " y = z + 1 ",但这个所谓的 "y = z + 1"并不返回任何值,所以这是一个错误的赋值语句,这是非法的。

​ x = y = z + 1

​ 先将 “z + 1"赋给"y”,再将"y"赋给"x",这是合法的

​ 4.以下代码的输出结果是(27)

x = 2 + 9 * ((3*12) - 8) // 10
print(x)

结果为:27

3 * 12 = 36 36-8 = 28 28 * 9 = 252 252 // 10 = 25 25 + 2 = 27

(具有相同优先级的运算符按照从左向右的顺序计算)

运算符优先级:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x3lTj7Cc-1636956777513)(C:Users27370AppDataRoamingTyporatypora-user-imagesimage-20211108164458255.png)]

5.以下代码的输出结果是(False)

print( 0.1 + 0.2 == 0.3 )

import math
print(math.fsum([0.1 + 0.2])) #0.30000000000000004
print(0.1 + 0.2)#0.30000000000000004

6.表达式3*4**2//8%7的计算结果是(6)

(**的优先级最高,然后自左向右运算即可)

7.若字符串s=‘anbtc’,则len(s)的值是(5)

s = 'anbtc'
print(len(s))

转义字符长度为1

8.为了给整型变量a、b、c赋初值10,下面正确的python语句是©

  • A

    xyz=10

  • B

    x=10 y=10 z=10

  • C

    x=y=z=10

  • D

    x=10,y=10,z=10

    SyntaxError: cannot assign to literal

9.and 和 or的用法:

​ a and b:a表示上文,b表示下文

​ 当a为真,b为真,and前后都为真,则返回下文 b ;
​ 当a、b中一个为真,一个为假,则返回为假的值;
​ 当a、b均为假,则返回上文 a;

​ a or b:a表示上文,b表示下文

​ 当a为真,b为真,or前后都为真,则返回上文a ;
​ 当a、b中一个为真,一个为假,则返回为真的值;
​ 当a、b均为假,则返回下文 b;

a , b = 1 ,2
print(a or b) # 1
a , b = 10 ,20
print(a and b) #20
a , b = 0 ,1
print(a and b) #0
a , b = 0 ,2
print(a or b) #2

10.编程题:从键盘输入一个任意数判断它是不是素数。

number = eval(input("请输入任意数:"))
for i in range(number):
    if number % (i + 2) == 0:
        print("{}不是素数".format(number))
        break
    elif number == 1 or number == 2:
        print("{}是素数".format(number))
    else:
        print("{}是素数".format(number))
        break

11.编程题:如何实现一个“获取月份字符串”呢?要求根据1-12的数字返回月份名称

monthstr = "1月2月3月4月5月6月7月8月9月10月11月12月"
monthid = eval(input("请输入月份数字(1-12):"))
if monthid in range(1,10):
    pos = (monthid - 1) * 2
    print(monthstr[pos:pos+2])
elif monthid in [10,11,12]:
    pos = (monthid - 1) * 2 + monthid - 10
    print(monthstr[pos:pos+3])
else:
    print("请输入正确的数字")
第四章

1.语句print('x= : + 8.2 f ′ . f o r m a t ( 123.5678 ) ) 执 行 后 的 输 出 结 果 是 ( x = {:+8.2f}'.format(123.5678))执行后的输出结果是( x= :+8.2f′.format(123.5678))执行后的输出结果是(x= □ +123.57 )。选项中的□代表空格

​ 解答:.2f使得数字以四舍五入输出两位小数,8指定了输出宽度,+让数字带+输出,数字输出默认左对齐,得结果(经排除法也可)

print("{:30}".format(123.5678))
print("{:30}".format("123.5678"))

​ 123.5678(数字左对齐)

123.5678(字符串右对齐)

2.下列程序的运行结果是( 6 6 7)。

x,y=4,4
x,y,z=6,x+2,x+3 #同步赋值
print(x,y,z)

3.若 a = ‘abcd’ ,若想将 a 变为 ‘ebcd’ ,则下列语句正确的是(C )。

  • A

    a[0] = ‘e’ (字符串是不可变对象,不要试图用下标的方法去改变字符串的值)

  • B

    replace(‘a’, ‘e’) (应该是a.replace(‘a’, ‘e’) )

  • C

    a = ‘e’ + a[1:] (可以的)

  • D

    a[1] = ‘e’ (字符串是不可变对象,不要试图用下标的方法去改变字符串的值)

4.a=10;

print(eval(“a+1”))

g={‘a’:4}

print(eval(“a+1”,g))

执行上述语句后的输出结果是(A)。

  • A、

    11 5

  • B、

    11 11

  • C、

    11 4

  • D、

    11 15

    ((https://blog.csdn.net/qq_44923545/article/details/109060735),eval函数的用法)

5.Python语句print(’{:*^10.4}’.format(‘Flower’))的运行结果是( D )。

  • A

    Flow

  • B

    Flower

  • C

    Flowe

  • D

    Flow(打不出来,前面三个 * ,后面三个 * )

解答:表示以 * 填充空白区域,^表示居中对齐,10表示输出宽度,.4对于字符串来说是输出指定长度

6.字符串 s = “I love Python”,以下程序的输出结果是( [‘Python’, ‘love’, ‘I’] )。

s = "I love Python"
ls = s.split()
ls.reverse()
print(ls)#['Python', 'love', 'I']

解答:split方法默认以’ '切割字符串,并将切割完的数据以列表形式保存,reverse()方法将列表元素颠倒

7.表达式 {1, 2} * 2 的值为 {1, 2, 1, 2}。(错误)

print({1,2} * 2) #对于集合来说,结果报错
print([1,2] * 2) #[1,2,1,2]

8.看代码,求结果:

x = y = [1, 2] #列表x和y的引用相同,可以理解为地址相同
x.append(3)#对x的修改同时也会修改y
print(x is y, x == y,end=' ')#True,True(is取决于引用是否相同,==取决于值是否相等)
z = [1, 2, 3]
print(x is z,x == z,y == z)#False,True,True
print(x)#[1,2,3]
print(y)#[1,2,3]

9.看代码,求结果:

a = 10
a *= 2 + 3 #结合运算符,首先需要将右边表达式运算完,再进行下步运算,50
a /= 2 + 3 #10
a %= a - a % 4 #2
a //= a - 3 #取a的值仍然为10,//取整除,结果为1

10.查找排序:

​ 冒泡排序:

def BubbleSort(list):
    for i in range(len(list) - 1):
        for j in range(i+1,len(list)):
            if list[i] > list[j]:
                list[i],list[j] = list[j],list[i]
    return list
list1 = [20,10,32,41,78,100,1]
list2 = BubbleSort(list1)
print(list2)

​ 选择排序:

def choice_sort(list):
    for i in range(len(list) - 1):
        min = i
        for j in range(i + 1, len(list)):
            if list1[min] > list1[j]:
                min = j
        list1[i], list1[min] = list1[min], list1[i]
    return list
list1 = [7,8,3,1,2,10,1114]
choice_sort(list1)
print(list1)

​ 二分查找:

def yuansu_search(key,list):
    low = 0
    high = len(list) - 1
    while(low <= high):
        middle = int((low + high) / 2)
        if key < list[middle]:
            high = middle - 1
        elif key > list[middle]:
            low = middle + 1
        else:
            return middle
        return -1

list2 = [2,4,8,12,17,19,24]
key = int(input("请输入你想查找的值:"))
location = yuansu_search(key,list2)
if location != -1:
    print("{}的索引值为{}".format(key,location))
else:
    print("查找不到关键值")
第五章

1.以下不能创建一个字典的语句是 ( C)。

(对于字典来说,只能以不可变数据类型作为它的键)

  • A

    dict1 = {} (创建了空字典)

  • B

    dict2 = { 3 : 5 } (以数字3为键)

  • C

    dict3 = {[1,2,3]: “uestc”} (以列表为键不可以)

  • D

    dict4 = {(1,2,3): “uestc”}(以元组为键可以,元组是不可变数据类型)

2.以下关于Python自带数据结构的运算结果中错误的是哪一项?( D)。

  • A

    l = [1, 2, 3, 4]; l.rerverse(); 则l[1]为3。(倒置后为[4,3,2,1],则I[1]为3)

  • B

    l = [1, 2, 3, 4]; l.pop(1); 则l结果为[1, 3, 4] (pop方法默认删除列表末尾的元素,加参数表示删除索引为参数的元素)

  • C

    l = [1, 2, 3, 4]; l.pop(); 则l.index(3) 结果为2。(index方法用于查找并返回参数在列表中第一次出现的索引值)

  • D

    l = [1, 2, 3, 4]; l.insert(2, -1); 则l为 [1, 2, -1, 4]。(结果I为[1,2,-1,3,4])(insert方法表示在某一索引值前面插入一个值)

3.对于一个列表aList和一个元组bTuple,以下函数调用错误的选项是哪一个? ( D)。

  • A

    sorted(aList)

  • B

    sorted(bTuple)

  • C

    aList.sort()

  • D

    bTuple.sort() #‘tuple’ object has no attribute ‘sort’

4.Python语句序列“s={‘a’,1,‘b’,2};print(s[‘b’]);”的运行结果是( A )。

​ 运行报错:#TypeError: ‘set’ object is not subscriptable #表示把不具有下标 *** 作的集合对象用成了对象

(集合是无序数据类型,不能进行下标 *** 作)

  • A

    语法错

  • B

    ‘b’

  • C

    1

  • D

    2

5.下面代码的输出结果是( D )。

s =[“seashell”,“gold”,“pink”,“brown”,“purple”,“tomato”]

print(s[1:4:2])

解答:1:4表示输出列表索引值1至4(左闭右开),2表示步长,默认为1,表示每隔多少个输出

  • A

    [‘gold’, ‘pink’, ‘brown’]

  • B

    [‘gold’, ‘pink’]

  • C

    [‘gold’, ‘pink’, ‘brown’, ‘purple’, ‘tomato’]

  • D

    [‘gold’, ‘brown’]

6.假设将单词保存在变量 word 中,使用一个字典类型 counts={},统计单词出现的次数可采用以下( D )代码。

  • A

    counts[word] = counts[word] + 1

  • B

    counts[word] = 1

  • C

    counts[word] = counts.get(word,1) + 1

  • D

    counts[word] = counts.get(word,0) + 1

7.以下程序的输出结果是( D )。

Da = {“北美洲”:“北极兔”,“南美洲”:“托哥巨嘴鸟”,“亚洲”:“大熊猫”,“非洲”:“单峰驼”,“南极洲”:“帝企鹅”}

Da[“非洲”] = “大猩猩”(通过键修改值)

print(Da)

  • A

    (‘北美洲’: ‘北极兔’, ‘南美洲’: ‘托哥巨嘴鸟’, ‘亚洲’: ‘大熊猫’, ‘非洲’: ‘大猩猩’, ‘南极洲’: ‘帝企鹅’)

  • B

    [‘北美洲’: ‘北极兔’, ‘南美洲’: ‘托哥巨嘴鸟’, ‘亚洲’: ‘大熊猫’, ‘非洲’: ‘大猩猩’, ‘南极洲’: ‘帝企鹅’]

  • C

    {“北美洲”:“北极兔”,“南美洲”:“托哥巨嘴鸟”,“亚洲”:“大熊猫”,“非洲”:“单峰驼”,“南极洲”:“帝企鹅”}

  • D

    {‘北美洲’: ‘北极兔’, ‘南美洲’: ‘托哥巨嘴鸟’, ‘亚洲’: ‘大熊猫’, ‘非洲’: ‘大猩猩’, ‘南极洲’: ‘帝企鹅’}

8.下面代码的执行结果是( 3 )。

​ ls=[[1,2,3],[[4,5],6],[7,8]]

​ print(len(ls)) (输出列表的长度,列表单项可以为任何数据类型)

9.可以使用del删除集合中的部分元素。(错误)(直接将集合删除,集合不存在了)

10.集合可以作为字典的键 (错误) (集合可变)

11.只能通过切片访问元组中的元素,不能使用切片修改元组中的元素。(正确)

第六章

1.以下关于循环控制语句描述错误的是哪一项? (B )。

  • A

    Python中的for语句可以在任意序列上进行迭代访问,例如列表、字符串和元组。

  • B

    在Python中if…elif…elif…结构中必须包含else子句。(也可以不包含)

  • C

    在Python中没有switch-case的关键词,可以用if…elif…elif…来等价表达。

  • D

    循环可以嵌套使用,例如一个for语句中有另一个for语句,一个while语句中有一个for语句等。

2.for i in range(0,2):

​ print (i)

上述程序的输出结果是: ( )。

for i in range(0,2):

    print (i)
    #输出:0
          1

左闭右开,若未说明第一个参数的值,默认为0

3.Python程序中假设字典d={‘1’:‘male’, ‘2’:‘female’},如果语句中使用d[3],则解释器将抛出( C )错误信息。

  • A

    NameError

  • B

    IndexError

  • C

    KeyError (d[3]找不到对应key值,使用d[2]也一样,键值类型不同,都报KeyError)

  • D

    TypeError

4.以下关于异常处理try语句块的说法,不正确的是( C )。

  • A

    finally语句中的代码段始终要保证被执行

  • B

    一个try块后接一个或多个except块

  • C

    一个try块后接一个或多个finally块

  • D

    try块必须与except或finally块一起使用

5.Python程序中对于表达式123 + ‘xyz’,解释器将抛出(D )错误信息。

​ + :左右两边数据类型需相同

  • A

    NameError

  • B

    FileNotFoundError

  • C

    SyntaxError

  • D

    TypeError

​ 6.以下for语句结构中,(A )不能完成1~10的累加功能。

  • A

    for i in range(10,0): total += i (输出为0,因为循环不了)

  • B

    for i in range(1,11): total += i

  • C

    for i in range(10,0,-1): total += i(步长-1,可以)

  • D

    for i in (10,9,8,7,6,5,4,3,2,1): total += i

7.当用户输入abc时,下面代码的输出结果是( 无输出 )。

try:
   n = 0
   n = input("请输入一个整数: ")
   def pow10(n):
      return n**10
except:
   print("程序执行错误") #无输出

8.关于程序的异常处理,以下选项中描述错误的是( C )。

  • A

    程序异常发生经过妥善处理可以继续执行

  • B

    异常语句可以与 else 和 finally 保留字配合使用

  • C

    编程语言中的异常和错误是完全相同的概念

  • D

    Python 通过 try、except 等保留字提供异常处理功能

9.以下关于循环结构的描述,错误的是( A )。

  • A

    遍历循环使用for <循环变量> in <循环结构>语句,其中循环结构不能是文件

    (Python包含以下几种可迭代对象:

    1. 序列。包含:字符串、列表、元组
    2. 字典
    3. 迭代器对象(iterator)
    4. 生成器函数(generator)
    5. 文件对象)
  • B

    使用range()函数可以指定for循环的次数

  • C

    for i in range(5)表示循环5次,i的值是从0到4

  • D

    用字符串做循环结构的时候,循环的次数是字符串的长度

10.执行以下程序,输入qp,输出结果是( 2 )。

k = 0
while True:
    s = input('请输入q退出:') # s = 'qb'
    if s == 'q':   #不满足不执行
        k += 1
        continue
    else:
        k += 2 #k = 2
        break
print(k)

11.以下选项,不属于程序流程图基本元素的是(A )。

  • A

    循环框

  • B

    连接点

  • C

    判断框

  • D

    起始框

​ (流程图的基本元素:起止框,判断框,处理框,输入/输出框,注释框,流向线,连接点)

12.在异常处理结构中,不论是否发生异常,finally子句中的代码总是会执行的。(正确)

13.带有else子句的异常处理结构,如果不发生异常则执行else子句中的代码。(正确)

14.异常处理结构也不是万能的,处理异常的代码也有引发异常的可能。(正确)

15.在循环中continue语句的作用是跳出当前循环。(错误)

16.在编写多层循环时,为了提高运行效率,应尽量减少内循环中不必要的计算。(正确)

17.编程实现:从键盘随机输入一个正整数n,统计前n个数的阶乘的和。如n=3,求1!+2!+3!

number = eval(input("请输入一个正整数:"))
sum = 0
b = 1
for i in range(1,number + 1):
    b = b * i
    sum += b
print(sum)

18.编程实现:自定义一个函数hw(ch),判断用户随意输入的ch是否为回文字符串(回文字符串:是一个正读和反读都一样的字符串,如abccba,12321)。

def hw(ch):
    if ch == ch[::-1]:
        print('{}是回文字符串'.format(ch))
    else:
        print('{}不是回文字符串'.format(ch))
ch = input("请输入你的字符串:")
hw(ch)
第七章

1.( C)函数以一系列列表作为参数,将列表中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

  • A、

    lambda

  • B、

    map

  • C、

    zip

  • D、

    filter

2.关于函数参数传递中,形参与实参的描述错误的是( D )。

  • A、

    python实行按值传递参数。值传递指调用函数时将常量或变量的值(实参)传递给函数的参数(形参)

  • B、

    实参与形参存储在各自的内存空间中,是两个不相关的独立变量

  • C、

    在参数内部改变形参的值,实参的值一般是不会改变的。

  • D、

    实参与形参的名字必须相同

3.Python中,若有def f1(a,b,c):print(a+b),则语句序列“nums=(1,2,3);f1(*nums)”的运行结果是(C )。

  • A、

    语法错

  • B、

    6

  • C、(序列解包,元组的值拆开依次传参,重点是数量要对应)

    3

  • D、

    1

4.Python语句序列“f1=lambda x:x*2; f2= lambda x:x**2; print(f1(f2(2)))”的程序运行结果是(D )。

  • A、

    2

  • B、

    4

  • C、

    6

  • D、(匿名函数,将lambda看成一个简单函数即可,f2(2)的值为4,f1(4)的结果为8)

    8

5.关于函数的可变参数,可变参数*args传入函数时存储的类型是( D)。

  • A、

    list

  • B、

    set

  • C、

    dict

  • D、(**args传入时,类型为字典哦)

    tuple

6.定义函数时,带有默认值的参数必须出现在参数列表的最右端,任何一个带有默认值的参数右边不允许出现没有默认值的参数。(正确)

7.Python不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义。(正确)

8.输入一个数字a和数字b,生成一个列表[a,aa,aaa,aaaa,…,aaaaaaa]并计算列表每个元素加起来的和。其中b代表列表中元素的个数。如a=2, b=5,表示[2,22,222,2222,22222]。

a = eval(input())
b = eval(input())
c = []
d = 0
for i in range(0 , b ):
    d += a * 10 ** i
    c.append(d)
print(c)
print(sum(c))

9.从键盘输入两个数(每行一个数字),调用函数 gcd() 输出两个数的最大公约数并显示在屏幕上,要求输出最大公约数。

def gcd(x,y):
    if x 
第八章 

1.下列哪项不是Python中对文件的读取 *** 作: ( B)。

  • A、

    read

  • B、

    readall

  • C、

    readline

  • D、

    readlines

2.以下关于Python文件的描述,错误的是( D )。

  • A、

    open函数的参数处理模式‘b’表示以二进制数据处理文件

  • B、

    open函数的参数处理模式‘+’表示可以对文件进行读和写 *** 作

  • C、

    readline函数表示读取文件的下一行,返回一个字符串

  • D、

    open函数的参数处理模式‘a’表示追加方式打开文件,删除已有内容(在文件最后追加内容)

3.文件 book.txt 在当前程序所在目录内,其内容是一段文本:book,下面代码的输出结果是( C)。

txt = open(“book.txt”, “r”);

print(txt);

txt.close()

  • A、

    book.txt

  • B、

    txt

  • C、

    以上答案都不对

  • D、

    book

txt = open("book.txt", "r")
print(txt)
txt.close()
<_io.TextIOWrapper name='book.txt' mode='r' encoding='cp936'>
txt = open("book.txt", "r")
print(txt.readline())
txt.close()
book

4.Python 文件读取方法read(size)的含义是(D)。

  • A、

    从头到尾读取文件所有内容

  • B、

    从文件中读取一行数据

  • C、

    从文件中读取多行数据

  • D、

    从文件中读取指定size大小的数据,如果size为负数或者空,则读取到文件结束

5.文件text.txt里的内容如下:

QQ&Wechat

Google & Baidu

以下程序的输出结果是(D )。

fo = open(“text.txt”,‘r’)

fo.seek(2)

print(fo.read(8))

fo.close()

  • A、

    Wechat

  • B、

    &Wechat G

  • C、

    Wechat Go

  • D、(最后读入了一个回车符)

    &Wechat

6.关于以下代码的描述,错误的选项是(A)。

with open(‘abc.txt’,‘r+’) as f:

lines = f.readlines()

for item in lines:

print(item)

  • A、

    执行代码后,abc.txt文件未关闭,必须通过close()函数关闭

    (py提供了 with 语句来管理资源关闭。比如可以把打开的文件放在 with 语句中,这样 with 语句就会帮我们自动关闭文件。)

  • B、

    打印输出abc.txt文件内容

  • C、

    item是字符串类型

  • D、

    lines是列表类型

7.关于下面代码中的变量x,以下选项中描述正确的是(D )。

fo = open(“fname.txt”, “r”)

for x in fo:

print(x)

fo.close()

  • A、

    变量 x 表示文件中的一组字符

  • B、

    变量 x 表示文件中的全体字符

  • C、

    变量 x 表示文件中的一个字符

  • D、

    变量 x 表示文件中的一行字符

8.以下关于随机运算函数库的描述,正确的是(D)。

  • A、

    random库产生的随机数是完全随机的

  • B、

    Python的random库是内置库,随Python一起发布

  • C、

    random(a,b)产生一个(a,b)之间的随机小数([a,b)之间的随机小数)

  • D、

    random.seed()函数初始化随机数种子,是为了可以重复再现随机数序列

9.切片 *** 作list(range(6))[::2]执行结果为 [0,2,4]。

10.编程,找出1000之内的所有完数,并输出该完数及对应的因子。其中:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是完数。

m=1000
for a in range(2,m+1):
    s=a
    L1=[]
    for i in range(1,a):
        if a%i==0:
            s-=i
            L1.append(i)
    if s==0:
        print("完数:%d,因子包括:"%a,end="")
        for j in range(1,len(L1)):
            print("%d"%L1[j],end=",")
        print("n")

11.编程:创建一个data.txt,并从键盘中输入K个字符,基于K个字符,随机生成m个n位的随机字符输出

import random
with open('data.txt','w+') as file1:
    file1.write(input("输入字符:"))
file1 = open('data.txt','r')
lines = file1.readline()
m = int(input("input m:"))
n = int(input("input n:"))
for j in range(0,m):
    a = random.randint(1,len(lines) - n)
    print(lines[a:a+n])
file1.close()

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5495855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存