三位水仙花数
ans = ""
for i in range(100, 1000):
sum = 0
for j in str(i):
sum += (eval(j)) ** 3
if sum == i:
ans += "{},".format(i)
print(ans[:-1])
猴子吃桃 II
def peach(n):
if n == 10:
return 1
else:
return (peach(n + 1) + 1) * 2
for i in range(10, 0, -1):
print("第{}天有{}只桃子".format(i, peach(i)))
侯先生爬楼梯
def climb(n):
a, b = 1, 1
for i in range(n):
a, b = b, a + b
return a
n = int(input())
print(climb(n))
编写函数输出自除数
def selfDivisor(num):
t = str(num)
if '0' in t:
return 0
for i in t:
if num % int(i) != 0:
return 0
return 1
n = int(input())
ls = []
for i in range(1, n + 1):
if selfDivisor(i):
print(i, end=" ")
103
fi = open("data.txt", 'r')
for l in fi:
l = l.split(',')
s = 0.0
n = len(l)
for cours in l:
items = cours.split(':')
s += eval(items[1])
print("总和是:{},平均值是:{:.2f}".format(s, s / n))
fi.close()
汉诺塔求解
steps = 0
def hanoi(src, des, mid, n):
global steps
if n == 1:
steps = steps + 1
print("[STEP{:>4}] {}->{}".format(steps, src, des))
else:
hanoi(src, mid, des, n - 1)
steps = steps + 1
print("[STEP{:>4}] {}->{}".format(steps, src, des))
hanoi(mid, des, src, n - 1)
N = eval(input())
hanoi("A", "C", "B", N)
素数问题
def question_judge(question):
"""接收一个字符串为参数,根据参数值判断问题类型,调用合适的函数进行操作。"""
if question == '素数':
n = int(input())
output_prime(n)
elif question == '回文素数':
n = int(input())
palindromic_prime(n)
elif question == '反素数':
n = int(input())
reverse_prime(n)
elif question == '哥德巴赫猜想':
n = int(input())
goldbach_conjecture(n)
else:
print('输入错误')
def is_prime(n):
"""判断素数的函数,接收一个正整数为参数,参数是素数时返回True,否则返回False
减小判定区间,减少循环次数,提升效率"""
if n < 2:
return False
for i in range(2, int(n ** 0.5 + 1)):
if n % i == 0:
return False
else:
return True
def output_prime(number):
"""接收一个正整数为参数,遍历从0到number之间的所有整数
在一行中输出不大于number的所有素数,函数无返回值"""
for i in range(number+1):
if is_prime(i):
print(i,end=" ")
def palindromic(num):
"""接收一个数字为参数,判定其是否为回文数,返回布尔值。"""
return str(num) == str(num)[::-1]
def palindromic_prime(number):
"""接收一个正整数参数number,遍历从0到number之间的所有整数,
若某个数是素数,且转为字符串后是回文字符串,则称其为回文素数
找出并在同一行中从小到大输出小于number的所有回文素数,各数字间用一个空格分隔,
函数无返回值"""
for i in range(number + 1):
if palindromic(i) and is_prime(i):
print(i, end = ' ')
def reverse_num(num):
"""接收一个整数,返回其逆序字符串对应的整数"""
return int(str(num)[::-1])
def reverse_prime(number):
"""接收一个正整数参数,找出并在同一行内输出所有小于number的反素数,数字间用一个空格分隔。
反素数指某数i及其逆序数都是素数,但数i对应的字符串不是回文字符串
函数无返回值"""
for i in range(number):
if not palindromic(i) and is_prime(i) and is_prime(reverse_num(i)):
print(i, end=" ")
def goldbach_conjecture(num):
""" 哥德巴赫猜想, 接收一个不小于4的正整数为参数。
当参数为不小于4的偶数时,将其分解为两个素数的加和,按小数+数的格式输出。
有多种组合时全部输出,但不输出重复的组合,例如输出8=3+5,不输出8=5+3。
参数为奇数或小于4时,输出'Data error!'
"""
if num %2==0 and num>=4:
for i in range(2,(num//2)+1):
if is_prime(i) and is_prime(num-i):
print(f"{num}={i}+{num-i}")
else:
print("Data error!")
if __name__ == '__main__':
problems = input()
question_judge(problems)
回文素数
def isPrime(x):
for i in range(2, int(x ** 0.5) + 1):
y = x % i
if y == 0:
break
return False
else:
return True
def palindrome(x):
if str(x) == str(x)[::-1]:
return True
else:
return False
n = int(input())
m = 0
i = 2
while m < n:
if isPrime(i) and palindrome(i):
print(i, end=' ')
i = i + 1
m = m + 1
else:
i = i + 1
统计文件中的中文字数
def read_file(file):
with open(file, 'r', encoding='utf-8') as data:
result = data.read()
for i in result:
if i in ',。?!@#¥%……&*;(:; ) ——+|、·:“”’‘\n':
result = result.replace(i, "")
return len(result)
if __name__ == '__main__':
file = input()
dic = read_file(file)
print(dic)
文件中数据转列表
with open('xrdfile.txt', 'r', encoding='utf-8') as f:
n = int(input())
ls = []
for i in f.readlines():
ls.append(i.strip().split())
for i in range(len(ls)):
ls[i][0] = int(float(ls[i][0]))
ls[i][1] = int(float(ls[i][1]))
print(ls[:n])
利用数据文件统计成绩
data = open('成绩单.csv','r', encoding='utf-8')
score = []
n = int(input())
for line in data:
line = line.replace('\n', '')
score.append(line.split(','))
score.sort(key=lambda x: int(x[9]))
if n > len(score):
n = len(score)
print("最低分{}分,最高分{}分".format(score[0][9], score[-1][9]))
print(score[:n])
print(score[-n:])
s = [0, 0, 0, 0, 0, 0]
for i in range(len(score)):
for j in range(len(s)):
s[j] = s[j] + int(score[i][j + 3])
for l in range(len(s)):
s[l] = round(s[l] / len(score), 2)
print(s)
data.close()
文本分析与加密
def encrypating(character, n):
if character.islower():
temp = ord('a');character = chr(temp + (ord(character) - temp + n) % 26)
else:
temp = ord('A');character = chr(temp + (ord(character) - temp + n) % 26)
return character
l = list(str(input()));
secret = 0
for i in l:
secret = (secret + ord(i)) % 26
f = open("mayun.txt", "r")
content = f.readlines()
upperchr = lowerchr = num = space = others = 0
words = 1
for line in content:
for i in line:
if i.isupper():
upperchr += 1
elif i.islower():
lowerchr += 1
elif i.isspace():
space += 1
elif i.isdigit():
num += 1
else:
others += 1
str = line.replace('.', '')
str = str.replace(',', '')
str = str.replace("'", '')
l = list(str.split(' '))
words += len(l)
print("%d %d %d %d %d" % (upperchr, lowerchr, num, space, others))
print("共有%d单词" % words)
print("%d" % secret)
for line in content:
ret = ""
for char in line:
if char.isalpha():
ret += encrypating(char, secret)
elif char != '\n':
ret += char
print(ret)
身份证号批量升位
def id15218(id15):
a = id15
id15 = a[:6] + '19' + a[6:]
Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
s = 0
for i in range(17):
s = s + int(id15[i]) * int(Wi[i])
Y = str(s % 11)
if int(Y) < 10:
before = '0 1 2 3 4 5 6 7 8 9'
after = '1 0 X 9 8 7 6 5 4 3'
table = ''.maketrans(before, after)
Y = Y.translate(table)
else:
Y = '2'
id18 = id15[:17] + Y + id15[17:]
id18 = id18.replace(id18[18], ' ' * 1)
return id18
n = int(input())
with open('id15.txt', 'r', encoding='utf-8') as file:
for i in range(n):
line = file.readline()
print(id15218(line), end='')
手机销售统计
sale2018 = []
sale2019 = []
with open('sale2018.csv', 'r', encoding='utf-8') as data2018:
for line in data2018:
temp1 = line.split(',')
sale2018.append(temp1)
with open('sale2019.csv', 'r', encoding='utf-8') as data2019:
for line in data2019:
temp2 = line.split(',')
sale2019.append(temp2)
n = int(input())
set2018 = {x[0] for x in sale2018}
set2019 = {x[0] for x in sale2019}
if n == 1:
ls2019 = list(set2019)
ls2018 = list(set2018)
ls2019.sort()
ls2018.sort()
print(ls2019)
print(ls2018)
elif n == 2:
set2 = set2019 & set2018
ls = list(set2)
ls.sort()
print(ls)
elif n == 3:
set3 = set2018 | set2019
ls = list(set3)
ls.sort()
print(ls)
elif n == 4:
set4 = set2019 - set2018
ls = list(set4)
ls.sort()
print(ls)
elif n == 5:
set5 = set2018 ^ set2019
ls = list(set5)
ls.sort()
print(ls)
任意累积
def cmul(*num):
sum = 1
for i in [*num]:
sum *= i
return sum
print(eval("cmul({})".format(input())))
编写函数输出自除数
def selfDivisor(num):
strNum = str(num)
if '0' not in strNum:
for i in strNum:
if num % int(i) != 0:
return False
return True
n = int(input())
for i in range(1, n + 1):
if selfDivisor(i):
print(i, end=' ')
反素数
import math
def isPrime(x):
for i in range(2, int(math.sqrt(x)) + 1):
if x % i == 0:
return False
return True
def isPalindrome(x):
a = int(x[::-1])
if a != int(x) and (isPrime(a)):
return True
return False
n = int(input(""))
i, j = 0, 2
while i < n:
if isPrime(j) and isPalindrome(str(j)):
print(j, end=" ")
i += 1
j += 1
贪心的交易(函数)
import random
def f(prices):
le = len(prices) - 1
i = 0
sum = 0
while (i + 1) <= le:
if prices[i] < prices[i + 1]:
sum += prices[i + 1] - prices[i]
i += 1
return sum
n = int(input())
m = int(input())
random.seed(m)
ls = [random.randint(1, 100) for i in range(0, n)]
print(ls)
print(f(ls))
汉诺塔
def hanoi(n, a, b, c):
if n == 1:
print(a, '-->', c)
else:
hanoi(n - 1, a, c, b)
print(a, '-->', c)
hanoi(n - 1, b, a, c)
n = int(input(""))
temp = input("")
str1 = temp.split(" ")
hanoi(n, str1[0], str1[1], str1[2])
各位数字之和为5的数
def fun(a):
d = str(a)
if sum([int(j) for j in d]) == 5:
print(d, end=' ')
a = eval(input())
for i in range(a + 1):
fun(i)
月份缩写(一)
months = "Jan.Feb.Mar.Apr.May.Jun.Jul.Aug.Sep.Oct.Nov.Dec."
month = months.split('.')
a = int(input(''))
index = a - 1
print(month[index] + ".")
字符串加密
str1 = input()
for i in str1:
if ord('A') <= ord(i) <= ord('Z'):
print(chr(ord('A') + (ord(i) - ord('A') + 5) % 26), end='')
elif ord('a') <= ord(i) <= ord('z'):
print(chr(ord('a') + (ord(i) - ord('a') + 3) % 26), end='')
else:
print(i, end='')
念数字
n = input()
dic = {0: "ling", 1: "yi", 2: "er", 3: "san", 4: "si", 5: "wu", 6: "liu", 7: "qi", 8: "ba", 9: "jiu"}
ss = ""
for i in str(n):
if i.isdigit():
ss += dic[int(i)] + " "
else:
print("fu", end=" ")
print(ss.rstrip())
判断火车票座位
import sys
lst = ["a", "b", "c", "d", "f"]
n = input()
num = n[:-1]
ch = n[-1].lower()
if num.isdigit():
dig = int(num)
if dig < 1 or dig > 17 or ch not in lst:
print('输入错误')
sys.exit()
else:
print("输入错误")
sys.exit()
if ch == "a" or ch == "f":
print('窗口')
elif ch == 'c' or ch == 'd':
print('过道')
elif ch == 'b':
print('中间')
个人数据脱敏
import sys
lst = list()
n = input()
if n.count('.') == 1 or n.count('-') == 1 or not n.isdigit():
print('ERROR')
sys.exit()
else:
n = int(n)
for i in range(0, n):
mlst = list()
n = input().split()
s0 = list(n[0])
for i in range(len(s0)):
if i > 3 and i < 11:
s0[i] = '*'
a = ''.join(s0)
mlst.append(a)
s1 = list(n[1])
for i in range(len(s1)):
if i == 1:
s1[i] = '*'
b = ''.join(s1)
mlst.append(b)
s2 = list(n[2])
for i in range(len(s2)):
if i < 7 and i > 2:
s2[i] = '*'
c = ''.join(s2)
mlst.append(c)
lst.append(mlst)
print(lst)
排序输出字典中数据
dic1 = {'Tom':21, 'Bob': 18, 'Jack': 23, 'Ana': 20}
dic2 = {'李雷':21, '韩梅梅':18, '小明':23, '小红': 20}
dic1 = sorted(dic1.items(), key=lambda d:d[0], reverse=False)
dic2 = sorted(dic2.items(), key=lambda d:d[1], reverse=False)
n = int(input())
if n>len(dic1):
print([i[0] for i in dic1])
else:
print([i[0] for i in dic1[:n]])
if n>len(dic2):
print(dic2)
else:
print(dic2[:n])
用户转账
dic={"aaa":["123456",10000],"bbb":["888888",5000],"ccc":["333333",3000]}
ls = ["bbb","ccc"]
user = input()
if user not in ls:
print("Wrong User")
else:
zz = int(input())
if zz > dic["aaa"][1]:
print("Insufficient Funds")
else:
print("Tranfer Success")
print("{}:{}".format("aaa",dic["aaa"][1] - zz))
print("{}:{}".format(user,dic[user][1] + zz))
用户登录(字典)
dic={"aaa":["123456",10000],"bbb":["888888",5000],"ccc":["333333",3000]}
account = input()
if account not in dic.keys():
print("Wrong User")
else:
n = 0
while n != 3:
password = input()
n=n+1
if password == dic[account][0]:
print("Success")
break
elif n <= 2:
print("Fail,"+str(3-n)+" Times Left")
else:
print("Login Denied")
走马灯数
print(999999//7)
集合元素删除
s = set([int(x) for x in input().split()])
N = int(input())
for i in range(N):
cmd = input().split(" ")
if cmd[0] == 'pop':
s.pop()
elif cmd[0] == 'remove':
if int(cmd[1]) in s:
s.remove(int(cmd[1]))
elif cmd[0] == 'discard':
s.discard(int(cmd[1]))
print(sum(s))
罗马数字转换
s=input("")
sum=0
c={'I':1,'V':5,'X':10,'L':50,'C':100,'D':500,'M':1000}
for i in range(len(s)):
if i< (len(s)-1) and c[s[i]] < c[s[i+1]]:
sum -= c[s[i]]
else:
sum += c[s[i]]
print(sum)
列表插入
ls = ['2', '3', '0', '1', '5']
s = input("")
i = int(input(""))
if i >= 5:
ls.append(s)
ls.append(s)
else:
ls.insert(i, s)
ls.append(s)
print(ls)
列表排序
s = input("")
sList = list(s)
sList.sort()
print(sList)
生成随机密码
from random import *
seed(0x1010)
s = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*'
excludes = ''
ls = []
while len(ls) < 10:
pmd = ''
for i in range(10):
pmd += choice(s)
if pmd[0] in excludes:
continue
else:
ls.append(pmd)
excludes += pmd[0]
for i in ls:
print(i)
杨辉三角形
lists = [[]for i in range(10)]
lists[0].append(1)
lists[1].append(1)
lists[1].append(1)
last = 2
for i in range(2, 10):
last += 1
for j in range(0, last):
lists[i].append(1)
for k in range(1, last - 1):
lists[i][k] = lists[i - 1][k] + lists[i - 1][k - 1]
for i in range(0, len(lists)):
for j in range(0, len(lists[i])):
print(lists[i][j], end=" ")
print("")
分期付款计算器
bj = float(input())
mon = int(input())
w = input()
l = float(input())
ls = []
yh = 0
if w not in ['AC','ACPI']:
print('还款方式输入错误')
elif w == 'AC':
for i in range(mon):
hk = bj/mon + (bj-yh)*l
yh = yh + (bj/mon)
hk=round(hk,2)
ls.append(hk)
print(ls)
else:
hk = (bj*l*(1+l)**mon)/((1+l)**mon-1)
hk = round(hk,2)
print(hk)
模拟布朗运动
import random
import math
random.seed(int(input()))
tup1 = (0,0)
arr = list()
arr.append(tup1)
for i in range(5):
Xold = arr[i][0]
Dx = random.choice([1,-1])
Hx = random.choice([1,2,3,4,5,6,7,8,9,10])
Xnew = Xold + Dx * Hx
Yold = arr[i][1]
Dy = random.choice([1,-1])
Vy = random.choice([1,2,3,4,5,6,7,8,9,10])
Ynew = Yold + Dy * Vy
tup1 = (Xnew,Ynew)
arr.append(tup1)
print(arr)
sum = 0
for i in range(5):
temp = math.sqrt((arr[i][0] - arr[i+1][0])**2 + (arr[i][1] -arr[i+1][1])**2)
sum = sum + temp
print(round(sum,2))
求所有素数
for x in range(1, 100):
for y in range(2, x):
if x % y == 0:
break
else:
print(x, end=" ")
数字不同数之和
n = input("")
s = set(n)
ans = 0
for i in s:
ans += eval(i)
print(ans)
验证码较验
str1 = "Qs2X"
str2 = input("")
if str1.lower() == str2.lower():
print("验证码正确")
else:
print("验证码错误,请重新输入")
大小写转换
str1 = input("")
ans = ""
for i in str1:
if 'a' <= i <= 'z':
ans += i.upper()
elif 'A' <= i <= 'Z':
ans += i.lower()
else:
ans += i
print(ans)
查找指定字符
str1 = input("")
str2 = input("")
index = str2.rfind(str1)
if index == -1:
print("Not Found")
else:
print("index = " + str(index))
凯撒加密
def kaisa(ascii, offset, flag):
if flag:
if ord(ascii) + offset > 122:
return chr(ord(ascii) + offset - 122 + 96)
else:
if ord(ascii) + offset > 90:
return chr(ord(ascii) + offset - 90 + 64)
return chr(ord(i) + offset)
str1 = input("")
offset = int(input(""))
ans = ""
for i in str1:
if i.isalpha():
ans += kaisa(i, offset, i.lower())
else:
ans += i
print(ans)
身份证号处理
import datetime
id = input("")
birthYear = id[6] + id[7] + id[8] + id[9]
birthMonth = id[10] + id[11]
birthDay = id[12] + id[13]
sex = "男" if int(id[16]) % 2 != 0 else "女"
print("你出生于{}年{}月{}日".format(birthYear, birthMonth, birthDay))
print("你今年{}周岁".format(2020 - int(birthYear)))
print("你的性别为{}".format(sex))
快乐的数字
import time
num = input("")
start = time.perf_counter()
temp = num
while True:
if time.perf_counter() - start > 0.9:
print("False")
break
else:
ans = 0
for i in temp:
ans += int(i) ** 2
if ans == 1:
print("True")
break
else:
temp = str(ans)
三角形周长及面积
a = float(input(""))
b = float(input(""))
c = float(input(""))
zc, mj, s = 0, 0, 0
zc = a + b + c
p = zc / 2
mj = (p * (p - a) * (p - b) * (p - c)) ** (1 / 2)
print("周长=%.2f" % zc)
print("面积=%.2f" % mj)
a除以b
a = float(input(""))
b = float(input(""))
if b == 0:
print("除零错误")
else:
c = a / b
print("%.2f" % c)
2的n次方
import math
p = int(input(""))
print(int(math.pow(2, p)))
计算阶乘
n = int(input(""))
ans = 1
for i in range(1, n + 1):
ans *= i
print(ans)
字符串分段组合
str1 = input("")
temp = str1.split("-")
print(temp[0] + "+" + temp.pop())
字符串格式化输出
a = input("")
s = "PYTHON"
temp = "{0:" + a + "^30}"
print(temp.format(s[0:30]))
无空隙回声输出
str1 = input("")
for i in str1:
if i != " ":
print(i, end="")
三位水仙花数
list = []
for i in range(100,1000):
if pow(i // 100 , 3) + pow(i % 10 , 3) + pow(i // 10 % 10, 3) == i:
list.append(i)
for i in range(0, len(list)):
if (i == len(list) - 1):
print(list[i])
else:
print(list[i], end=",")
字典翻转输出
s = input()
try:
dic = eval(s)
d = {value:key for key,value in dic.items()}
print(d)
except:
print("输入错误")
中文词语逆序
import jieba
s = input()
s1 = list(jieba.lcut(s))
print("".join(s1[::-1]))
双一流高校及所在省份统计
d = {"北京大学": "北京", "中国人民大学": "北京", "清华大学": "北京",
"北京航空航天大学": "北京", "北京理工大学": "北京", "中国农业大学": "北京",
"北京师范大学": "北京", "中央民族大学": "北京", "南开大学": "天津",
"天津大学": "天津", "大连理工大学": "辽宁", "吉林大学": "吉林",
"哈尔滨工业大学": "黑龙江", "复旦大学": "上海", "同济大学": "上海",
"上海交通大学": "上海", "华东师范大学": "上海", "南京大学": "江苏",
"东南大学": "江苏", "浙江大学": "浙江", "中国科学技术大学": "安徽",
"厦门大学": "福建", "山东大学": "山东", "中国海洋大学": "山东",
"武汉大学": "湖北", "华中科技大学": "湖北", "中南大学": "湖南",
"中山大学": "广东", "华南理工大学": "广东", "四川大学": "四川",
"电子科技大学": "四川", "重庆大学": "重庆", "西安交通大学": "陕西",
"西北工业大学": "陕西", "兰州大学": "甘肃", "国防科技大学": "湖南",
"东北大学": "辽宁", "郑州大学": "河南", "湖南大学": "湖南", "云南大学": "云南",
"西北农林科技大学": "陕西", "新疆大学": "新疆"}
counts = {}
for place in d.values():
counts[place] = counts.get(place, 0) + 1
items = list(counts.items())
for i in range(0, len(items)):
print(items[i][0] + ':' + str(items[i][1]))
文本词频统计 – Hamlet
def getText():
txt = open("hamlet.txt", "r").read()
txt = txt.lower()
for ch in '!"$%&()*+,-./:;<=>?@[\\]^_{}|·`''':
txt = txt.replace(ch, " ")
return txt
hamletTxt = getText()
words = hamletTxt.split()
counts = {}
for word in words:
counts[word] = counts.get(word, 0) + 1
items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True)
for i in range(10):
word, count = items[i]
print(word)
字符串拼接操作
char = input("")
nums = int(input(""))
date = input("")
dateList = date.split("/")
print(char * nums)
print(dateList[0] + "年" + dateList[1] + "月" + dateList[2] + "日")
print(char * nums)
自幂数
n = int(input(""))
list2 = []
for i in range(10 ** (n - 1), 10 ** n):
str1 = str(i)
sum1 = 0
for j in str1:
num = int(j)
sum1 += num ** n
if i == sum1:
list2.append(i)
for i in list2:
print(i)
回文判断
a = input("")
b = a[::-1]
if a == b:
print("True")
else:
print("False")
字符串连接
s = input()
print('.'.join(s.split(',')))
首字母大写
str = input("")
print(str.title())
字母查找2.0(函数)
def f(m,n):
for i in m:
if i not in n or len(m) > len(n):
return 'NOT FOUND'
return 'FOUND'
m=input()
if m.isalpha():
n=input()
print(f(m, n))
else:
print('ERROR')
IP地址转换
str1 = input("")
for i in str1:
if i != '0' and i != '1':
print('data error!')
exit()
if len(str1) != 32:
print('data error!')
else:
decimalIP = str(int(str1[0:8], 2))
for i in range(1, 4):
decimalIP = decimalIP + '.' + str(int(str1[i * 8:(i + 1) * 8], 2))
print(decimalIP)
哥德巴赫猜想
n = int(input())
def isPrime(n):
if n <= 1:
return False
for i in range(2, (int(n ** 0.5) + 1)):
if n % i == 0:
return False
return True
if n % 2 != 0:
print("Data error!")
else:
for x in range(2, n):
y = n - x
if isPrime(x) == 1 and isPrime(y) == 1:
print("{:d} = {:d} + {:d}".format(n, x, y))
break
计算ID号
import math
def isPrime(n):
if n == 2 or n == 3:
return True
else:
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return False
else:
return True
def count(n, num):
s = 0
for i in range(len(str(n))):
x = int(str(n)[-i - 1])
s += n // 10 ** (i + 1) * 10 ** i
if x == num:
s += n % 10 ** i + 1
if x > num:
s += 10 ** i
return s
a = int(input())
b = int(input())
for i in range(a):
if isPrime(i) and a % i == 0 and isPrime(a // i):
print("WHUT" + str(a // i) + str(i))
break
print(count(int(str(a // i) + str(i)), b))
通讯录(文件读取)
f = open("info.csv", 'r', encoding='gbk')
l = []
for line in f:
l.append(line.replace("\n", "").split(","))
d = {}
for c in l:
d[c[0]] = [c[1], c[2]]
f.seek(0)
s = input()
if s == 'A':
for line in f:
print(line.replace(",", " ").replace("\n", ""))
elif s == "D":
print(d)
else:
print("ERROR")
f.close()
传感器日志光照统计
f = open("sensor-data-1k.txt", "r")
avg, cnt = 0, 0
for line in f:
ls = line.split()
cnt += 1
avg += eval(ls[4])
print("{:.2f}".format(avg / cnt))
十二星座
f = open("SunSign.csv", "r", encoding='utf-8')
ls = []
for line in f:
line = line.replace("\n", "")
ls.append(line.split(","))
f.close()
while True:
str1 = input()
str1.strip()
flag = False
if str1 == 'exit':
break
for line in ls:
if str1 == line[0]:
print("{}座的生日位于{}-{}之间".format(chr(eval(line[3])), line[1], line[2]))
flag = True
if not flag:
print("输入星座名称有误!")
传感器采集数据
f = open("sensor-data.txt", "r")
l = []
s = f.readline()
while s:
l.append(float(list(s.split())[4]))
s = f.readline()
print("最大值、最小值、平均值分别是:%.2f,%.2f,%.2f" % (max(l), min(l), sum(l) / len(l)))
f.close()
圣诞老人的礼物
boxes_list = []
n, w = map(int, input().split())
for i in range(n):
temp = list(map(int, input().split()))
value_rate = temp[0] / temp[1]
temp.append(value_rate)
boxes_list.append(temp)
boxes_list = sorted(boxes_list, key=lambda x: x[2], reverse=True)
totalW, totalV = 0, 0.0
for i in range(n):
if totalW + boxes_list[i][1] <= w:
totalW += boxes_list[i][1]
totalV += boxes_list[i][0]
else:
totalV += (w - totalW) * boxes_list[i][2]
break
print("%.1f" % totalV)
小马统计逆序对
n = int(input())
count = 0
str = input()
str_list = str.split()
num_list = [int(x) for x in str_list]
for i in range(n):
for j in range(i + 1, n):
if (num_list[i] > num_list[j]):
count = count + 1
print(count![在这里插入图片描述](https://img-blog.csdnimg.cn/e6056d76985549ba93e0aae0a8fc1cb1.png)