Python编程题10道

问题1:编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。得到的数字应按逗号分隔的顺序打印在一行上。
提示:考虑使用range(#begin, #end)方法

 

问题2:编写一个程序,接受逗号分隔的单词序列作为输入,按字母顺序排序后按逗号分隔的序列把字母转为大写并打印单词。假设向程序提供以下输入:
without,hello,bag,world

输出:

BAG
HELLO
WITHOUT
WORLD

 

问题3:编写一个接受句子并计算字母和数字的程序。假设为程序提供了以下输入:
Hello world! 123
然后,输出应该是:
字母 10
数字 3

 

问题4:网站要求用户输入用户名和密码进行注册。编写程序以检查用户输入的密码的有效性。
以下是检查密码的标准:
1. [a-z]之间至少有1个字母
2. [0-9]之间至少有1个数字
1. [A-Z]之间至少有一个字母
3. [$#@]中至少有1个字符
4.最短交易密码长度:6
5.交易密码的最大长度:12
您的程序应接受一系列逗号分隔的密码,并将根据上述标准进行检查。将打印符合条件的密码,每个密码用逗号分隔。
例:如果以下密码作为程序的输入:

ABd1234@1,a F1#,2w3E*,2We3345
然后,程序的输出应该是:

ABd1234@1

 

问题5:定义一个类,它具有类参数并具有相同的实例参数。

提示:定义一个实例参数,需要在__init__方法中添加它。您可以使用构造参数初始化对象,也可以稍后设置该值

 

问题6:

学生成绩分析,文件score.txt中存储了学生的考试信息,内容如下:

小明,98
小刚,90
小红,91
小王,98
小刘,80

请写代码,读取文件数据,并进行如下分析

  1. 最高分和最低分分别是多少?
  2. 得最高分的学生有几个? 得最低分的学生有几个
  3. 平均分是多少?

 

问题7:

字典grade = {"语文":89,"数学":99,"英语":60,"物理":88,"化学":76},现有如下要求,请按照要求编写程序。

1)向该字典中添加键值对 "生物":100

2)修改字典中"语文"的值为 100

3)删除"英语"对应的键值对;

4)输出修改后的字典。

 

问题8:

定义2个集合,分别求两个集合的元素个数,并输出在集合1中不在集合2中的元素;

 

问题9:

使用turtle绘制一个红色边框红色填充的五角星

 

问题10:

打印所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数。例如,153就是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。

 

答案:

问题1答案:

l=[]
for i in range(2000, 3201):
     if (i%7==0) and (i%5!=0):
     l.append(str(i))
print (','.join(l))

 

问题2答案:

str1 = input()
lst = str1.split(',')
lst.sort()
for tmp in lst:
print(tmp.upper())

 

问题3答案1:

print('请输入:')
s = input()
d={"DIGITS":0, "LETTERS":0}
for c in s:
     if c.isdigit():
         d["DIGITS"]+=1
     elif c.isalpha():
         d["LETTERS"]+=1
     else:
         pass
print ("字母", d["LETTERS"])
print ("数字", d["DIGITS"])
问题3答案2:(在不知道python内置函数时要自己学会想办法实现)

print('请输入:')
s = input()
d={"shuzi":0, "zimu":0}
for c in s:
if c.lower() in 'abcdefghijklmnopqrstuvwxyz':
d["zimu"]+=1
elif c in '1234567890':

d["shuzi"]+=1
else:

pass
print ("字母", d["shuzi"])

print ("数字", d["zimu"])

 

问题4答案:

import re
value = []
print("请输入:")
items=[x for x in input().split(',')]
for p in items:
    if len(p)<6 or len(p)>12:
        continue
    else:
        pass
    if not re.search("[a-z]",p):
        continue
    elif not re.search("[0-9]",p):
        continue
    elif not re.search("[A-Z]",p):
        continue
    elif not re.search("[$#@]",p):
        continue
    elif re.search("\s",p):
        continue
    else:
        pass
    value.append(p)
print (",".join(value))

 

问题6答案:

def read_file(filename):
"""
读取文件数据
:param filename:
:return:
"""
    f = open(filename, 'r', encoding='utf-8')
    datas = f.readlines()
    datas = [item.strip() for item in datas]
    f.close()

    return datas


def analse_score():
    datas = read_file('score.txt')
    score_lst = []

    for item in datas:
        score = int(item.split(',')[1])
        score_lst.append(score)

    max_score = max(score_lst)
    min_score = min(score_lst)

    max_score_count = score_lst.count(max_score)
    min_score_count = score_lst.count(min_score)

    avg = sum(score_lst)/len(score_lst)

    print(max_score, min_score)
    print(max_score_count, min_score_count)
    print(avg)

if __name__ == '__main__':
    analse_score()

    

问题8答案:

a ={1,2,3,4}
b= {3,4,5,6}
print(a-b)
# 或者:
print(a.difference(b))

 

问题9答案:

import turtle as t
t.color('red', 'red')
t.begin_fill()
for i in range(5):
    t.forward(200)
    t.right(144)
    t.hideturtle()
t.end_fill()
t.done()

 

问题10答案:

for a in range(1,10):
    for b in range(0,10):
        for c in range(0,10):
if a**3 + b**3 + c**3 == 100*a + 10*b + c:
print(100*a+10*b+c)

 



我爱编程  |  2023-01-11

  生活/ 青春   |   | 

分享图片如下

联系方式

友情链接




交流合作微信号yueqiu-shuo link to 京ICP备2023023066号-1