1.输出某个范围内的所有回文素数

python会回文素数 python回文素数 baifeiwei_函数返回

#输出某个范围内的所有回文素数
def isPrime(n):#判断是否为素数
    if n > 1 :
        for i in range(2, n):
            if n % i == 0:
                break
        else:
            return n

def ispalim(n):#判断是否为回文数
    num = str(n)
    m = num[::-1]
    if num == m:
        return n

x,y = eval(input())#读取start和end
for i in range(x,y+1):#循环遍历
    if isPrime(i) and ispalim(i) == i:
        print(i)
#参考答案
def isprime(n):
    if n <2 :
        return False
    for i in range(2, n):
        if n%i == 0:
            return False
    return True

def ispalim(x):
    x = str(x)
    if x == x[::-1]:
        return True
    return False

start, end = eval(input())
for item in range(start, end+1):
    if isprime(item) and ispalim(item):
        print(item)

2.编写函数,计算给定的整数n的各位数字之和

python会回文素数 python回文素数 baifeiwei_python_02

#计算给定整数的各位数字之和
def SUM(num):
    return sum(int(i) for i in str(num) if i.isdigit())

if __name__ == '__main__':
    num = input()
    print(SUM(num))
def sumdigit(n):#参考答案
    n = n if n >=0 else -n
    return sum([int(i) for i in str(n)])

x = eval(input())
print(sumdigit(x))

3.编写函数isdiff(n),用来判断参数n的各位数字是否相同

python会回文素数 python回文素数 baifeiwei_git_03

#编写函数isdiff(n),用来判断参数n的各位数字是否相同2021/02/08
def isdiff(n):
    if len(str(n)) == len(set(str(n))):
        return True
    else:
        return False
#len()返回对象长度  set()删除重复数据
x=int(input())
if isdiff(x)==True:
    print("各位数字互不相同")
else:
    print("有重复数字")
#参考答案
def isdif(x):
    s = str(x)
    for c in s:
        if s.count(c) > 1:
            return False
    return True

x = eval(input())
if isdif(x):
    print("各位数字互不相同")
else:
    print("有重复数字")

4.编写函数返回不包含重复元素的列表

python会回文素数 python回文素数 baifeiwei_python会回文素数_04

#编写函数返回不包含重复元素的列表
def delSame(lst):
    temp=[]
    [temp.append(i) for i in lst if not i in temp]
    return list(temp)

data=[]
data = eval(input())
print(delSame(data))
#参考答案
def delSame(lst):
    t = []
    for k in lst:
        if k not in t:
            t.append(k)
    return t
    
xlst = eval(input())
print(delSame(xlst))

5.编写程序将列表中的数据线性转换成指定范围的数据

python会回文素数 python回文素数 baifeiwei_函数返回_05

#编写程序将列表中的数据线性转换成指定范围的数据2021/02/08
def transfer(data,low,high):
    MAX = max(data)
    MIN = min(data)
    l = len(data)
    lst = []
    for i in data:
        temp = float('%.4f' % (x + (i - MIN) * (y - x) / (MAX - MIN)))
        lst.append(temp)
    return list(lst)

data = eval(input())
x,y = eval(input())
print(transfer(data,x,y))
#参考答案
def transfer(a, low, high):
    max_value = max(a)
    min_value = min(a)
    b = [round(low + (p - min_value) * (high - low) / (max_value - min_value), 4) for p in a]
    return b

a = eval(input())
low, high = eval(input())
b = transfer(a, low, high)
print(b)

6.成绩查询

python会回文素数 python回文素数 baifeiwei_重复元素_06

#字典成绩查询   2021/02/08 
scores = {"191018":64,"191266":80,"191017":95,"191036":60,"191287":55,"19308":75,"191023":80,"191043":82,"191010":40}
id = input()
count=0#计数器
try:
    for key, value in scores.items():
        if key == id:
            print(value)
            count = count + 1
    1/count
except ZeroDivisionError:
    print("学号不存在")
#参考答案
scores = {"191018":64,"191266":80,"191017":95,"191036":60,"191287":55,"191308":75,"191023":80,"191043":82,"191010":40}

no = input()
try:
    r = scores[no]
except KeyError:
    print("学号不存在")
else:
    print(r)

7.文件合并

python会回文素数 python回文素数 baifeiwei_函数返回_07


等一个参考答案

参考答案来了:

#参考答案
fnames = input().split()

scs = []
title = ""
for fname in fnames:
    with open(fname,"r",encoding ="utf-8") as f:
        title = f.readline()
        for line in f:
            scs.append(line)

scs.sort()
scs.insert(0,title)
for x in scs:
    print(x,end='')

8.通讯录转换

python会回文素数 python回文素数 baifeiwei_函数返回_08


再等一个参考答案

#参考答案
doubleFamilyNames = ['万俟','司马','上官','欧阳','夏侯','诸葛','闻人','东方','赫连','皇甫','尉迟','公羊','澹台','公冶','宗政','濮阳','淳于','单于','太叔','申屠','公孙','仲孙','轩辕','令狐','钟离','宇文','长孙','慕容','鲜于','闾丘','司徒','司空','亓官','司寇','子车','颛孙','端木','巫马','公西','漆雕','乐正','壤驷','公良','拓跋','夹谷','宰父','谷梁','段干','百里','东郭','南门','呼延','羊舌','微生','梁丘','左丘','东门','西门','南宫','第五']

f = open("./contacts.txt","r",encoding='utf-8')
for line in f:
    line = line.replace("\n","")
    name,age,gender = line.split(",")
    firstname,lastname = (name[0:2],name[2:]) if name[0:2] in doubleFamilyNames else (name[0],name[1:])
    print(firstname,lastname,'M' if gender=='男' else 'F',age,sep=",")
f.close()

9.简易计算器

python会回文素数 python回文素数 baifeiwei_git_09

s=input()
if s.find("/") != -1:
    try:
        temp=1
        if s.find("0")!=-1:
            temp=0
            1/temp
        result = eval(s)
        print("{}".format(result))
    except ZeroDivisionError:
        print("除数不能为零")
else:
    result = eval(s)
    print("{}".format(result))
#参考答案
try:
    r = eval(input())
except ZeroDivisionError:
    print("除数不能为零")
else:
    print(r)

10.文件不存在

python会回文素数 python回文素数 baifeiwei_git_10

import fileinput
file_Path = input()
try:
    if file_Path=='test.txt':
        1/0   
    with open(file_Path, 'r', encoding='utf-8') as f:
        print(f.read())
except ZeroDivisionError:
    print("文件不存在")
#参考答案
fname = input()
try:
    with open(fname,"r",encoding="utf-8") as f:
        c = f.read()
except IOError:
    print("文件不存在")
else:
    print(c)