禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134913973
参考教程:B站视频讲解——https://space.bilibili.com/3546616042621301
Python第五章作业(初级)(7~16)
第7关:各位数字之和为5的数参考代码 第8关:字符串长度参考代码 第9关:字符串加密参考代码 第10关:输出单词参考代码 第11关:字符大小写转换参考代码 第12关:查找指定字符参考代码 第13关:随机密码生成器参考代码 第14关:模拟生成微软序列号参考代码 第15关:数列求和参考代码 第16关:单词个数参考代码第7关:各位数字之和为5的数
任务描述
输入一个1000以内的正整数 n,在同一行内输出 [0,n] 之间各位数字之和为5的数,数字之间用空格分开(行末有一个空格)。
输入格式
输入一个1000以内的正整数 n
输出格式
符合条件的数
示例
输入:
100
输出:
5 14 23 32 41 50
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134913973a = int(input())for i in range(a+1): if i==5: print(i, end=' ') elif len(str(i))==2 and int(str(i)[0])+int(str(i)[1])==5: print(i, end=' ') elif len(str(i))==3 and int(str(i)[0])+int(str(i)[1])+int(str(i)[2])==5: print(i, end=' ')
第8关:字符串长度
任务描述
用户输入一个字符串,程序输出字符串的长度
输入格式
输入一个字符串
输出格式
一个表示字符串长度的整数
示例 1
输入:
Hello world!
输出:
12
参考代码
print(len(input()))
第9关:字符串加密
任务描述
用户在一行中输入一个包括大小写字母和数字的字符串,编程将其中的大写字母用字母表中该字母后的第5个字母替代,小写字母用字母表中该字母后的第3个字母替代,其他字符原样输出,实现字符串加密。
输入格式
输入一个至少包含一个字母的字符串
输出格式
加密后的字符串
示例 1
输入:
Life is short, you need Python!
输出:
Qlih lv vkruw, brx qhhg Ubwkrq!
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134913973a = 'ABCDEFGHIGKLMNOPQRSTUVWXYZ'b = 'FGHIGKLMNOPQRSTUVWXYZABCDE'c = 'abcdefghijklmnopqrstuvwxyz'd = 'defghijklmnopqrstuvwxyzabc's = input()res = ''for i in s: n = a.find(i) m = c.find(i) if n==-1 and m==-1: res+=i elif n!=-1 and m==-1: res+=b[n] elif n==-1 and m!=-1: res+=d[m]print(res)
第10关:输出单词
任务描述
输入一个英文句子,每个单词间用空格分隔,标点符号前面无空格,后面跟一个空格,请按出现顺序将每个单词分行输出(标点符号归属于前面的单词)。
输入格式
一个英文句子
输出格式
分行输出句子中的单词
示例
输入:
Never forget to say “thanks”.
输出:
Neverforgettosay“thanks”.
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134913973a = input().split(' ')for j in a: print(j)
第11关:字符大小写转换
任务描述
输入一个字符串,将其中大写字母转为小写,小写字母转为大写,其他字符保持原样,输出转换后的字符串。
输入格式
输入一个字符串。
输出格式
输出转换后的字符串。
示例 1
输入:
Hello, Python 3.7.4
输出:
hELLO, pYTHON 3.7.4
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134913973s = input()res = ''for c in s: if 'a'<=c<'z': res += c.upper() elif 'A'<=c<='Z': res += c.lower() else: res += cprint(res)
第12关:查找指定字符
任务描述
编写程序,从用户给定字符串中查找某指定的字符。
输入格式
输入的第一行是一个待查找的字符
第二行是一个以回车结束的非空字符串。
输出格式
如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最小下标(下标从0开始); 否则输出"Not Found"。
示例 1
输入:
mprogramming
输出:
index = 6
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134913973a = input()b = input()flag = 0for i in b: if i==a: print('index = ' + str(b.find(i))) flag = 1 breakif flag==0: print('Not Found')
第13关:随机密码生成器
任务描述
从字符串
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\()*+,-.'
中每次随机抽取 1 个字符,重复 n
次,用取得的字符构成的一个新字符串用做密码,密码长度 n
和随机数种子 s
由用户输入。
本题必须使用random.choice()
函数进行随机抽取
输入格式
在一行内输入2个正整数 n
和 s
,分别表示密码长度和随机数种子,数字间用半角逗号分隔。
输出格式
一个长度为 n
字符串
示例
输入:
10,5
输出:
wJ&3Xv6keL
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134913973from random import *n, s = map(int, input().split(','))a = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\()*+,-.'seed(s)for i in range(n): c = choice(a) print(c, end='')
第14关:模拟生成微软序列号
任务描述
微软产品一般都一个25位的序列号,是用来区分每份微软产品的产品序列号。产品序列号由五组被“-”
分隔开,由字母数字混合编制的字符串组成,每组字符串是由五个字符串组成。如: 36XJE-86JVF-MTY62-7Q97Q-6BWJ2
每个字符是取自于以下24个字母及数字之中的一个: B C E F G H J K M P Q R T V W X Y 2 3 4 6 7 8 9
采用这24个字符的原因是为了避免混淆相似的字母和数字,如I
和1
,O
和0
等,避免产生不必要的麻烦。 随机数种子函数语法为:random.seed(n)
本题要求应用random.choice()
方法每次获得一个随机字符!!!
输入格式
在2行中各输入一个正整数:
第1个整数代表要生成的序列号的个数
第2个正整数代表随机数种子
输出格式
指定个数的序列号
示例
输入:
210
输出:
3CVX3-BJWXM-6HCYX-QEK9R-CVG4RTVP7M-WH7P7-RGWKW-4TC3B-KGJP2
平均代码量 15 行
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134913973from random import *n = int(input())s = int(input())seed(s)c = 'BCEFGHJKMPQRTVWXY2346789'for i in range(n): key = '' for j in range(1, 26): key += choice(c) if j%5==0 and j!=25: key += '-' print(key)
第15关:数列求和
任务描述
本关任务:
计算特殊序列表达式的值,
a+aa+aaa+aaaa+...+a...a(N个a)
其中1<=a<=9
,第N
项由N
个a
组成.
例:若a=1
,N=3
,表达式为:
1+11+111
编程要求
输入:
第一行输入一个整数A
,且该数应该介于1
至9
之间(包含1
和9
)
第二行输入一个整数N
输出:
输出其 N
项数列之和的值。
当输入不符合要求时输出:data error
测试说明
平台会对你编写的代码进行测试:
测试输入:
13
预期输出:
123
测试输入:
12-3
预期输出:
data error
开始你的任务吧,祝你成功!
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134913973a = int(input())b = int(input())if a<1 or a>9 or b<0: print('data error')else: s = d = 0 for i in range(b): d = d*10+a s += d print(s)
第16关:单词个数
任务描述
本关任务:输入一个英文句子,以回车符结束,单词间以空格分隔,标点符号后跟至少一个空格,统计并输出单词的个数(仅统计单词,数字按单词计,不计算标点符号,重复单词出现几次就统计几次)。
编程要求
输入:一个英文句子
输出:单词个数
测试说明
平台会对你编写的代码进行测试:
测试输入:
Life is short, you need Python!
预期输出:
6
参考代码
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/134913973a = input().split(' ')print(len(a))