- 如果代码存在问题,麻烦大家指正 ~ ~
-
有帮助麻烦点个赞 ~ ~
第7关:各位数字之和为5的数
任务描述
输入一个1000以内的正整数 n,在同一行内输出 [0,n] 之间各位数字之和为5的数,数字之间用空格分开(行末有一个空格)。
输入格式
输入一个1000以内的正整数 n
输出格式
符合条件的数
示例
输入:
100
输出:
5 14 23 32 41 50
参考代码
a = 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!
参考代码
a = '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”.
输出:
Never
forget
to
say
“thanks”.
参考代码
a = input().split(' ')
for j in a:
print(j)
第11关:字符大小写转换
任务描述
输入一个字符串,将其中大写字母转为小写,小写字母转为大写,其他字符保持原样,输出转换后的字符串。
输入格式
输入一个字符串。
输出格式
输出转换后的字符串。
示例 1
输入:
Hello, Python 3.7.4
输出:
hELLO, pYTHON 3.7.4
参考代码
s = input()
res = ''
for c in s:
if 'a'<=c<'z':
res += c.upper()
elif 'A'<=c<='Z':
res += c.lower()
else:
res += c
print(res)
第12关:查找指定字符
任务描述
编写程序,从用户给定字符串中查找某指定的字符。
输入格式
输入的第一行是一个待查找的字符
第二行是一个以回车结束的非空字符串。
输出格式
如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最小下标(下标从0开始); 否则输出"Not Found"。
示例 1
输入:
m
programming
输出:
index = 6
参考代码
a = input()
b = input()
flag = 0
for i in b:
if i==a:
print('index = ' + str(b.find(i)))
flag = 1
break
if flag==0:
print('Not Found')
第13关:随机密码生成器
任务描述
从字符串
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\()*+,-.'
中每次随机抽取 1 个字符,重复 n
次,用取得的字符构成的一个新字符串用做密码,密码长度 n
和随机数种子 s
由用户输入。
本题必须使用random.choice()
函数进行随机抽取
输入格式
在一行内输入2个正整数 n
和 s
,分别表示密码长度和随机数种子,数字间用半角逗号分隔。
输出格式
一个长度为 n
字符串
示例
输入:
10,5
输出:
wJ&3Xv6keL
参考代码
from 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个正整数代表随机数种子
输出格式
指定个数的序列号
示例
输入:
2
10
输出:
3CVX3-BJWXM-6HCYX-QEK9R-CVG4R
TVP7M-WH7P7-RGWKW-4TC3B-KGJP2
平均代码量 15 行
参考代码
from 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
测试说明
平台会对你编写的代码进行测试:
测试输入:
1
3
预期输出:
123
测试输入:
12
-3
预期输出:
data error
开始你的任务吧,祝你成功!
参考代码
a = 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关:单词个数
任务描述
本关任务:输入一个英文句子,以回车符结束,单词间以空格分隔,标点符号后跟至少一个空格,统计并输出单词的个数(仅统计单词,数字按单词计,不计算标点符号,重复单词出现几次就统计几次)。
编程要求
输入:一个英文句子
输出:单词个数
测试说明
平台会对你编写的代码进行测试:
测试输入:文章来源:https://www.toymoban.com/news/detail-774659.html
Life is short, you need Python!
预期输出:文章来源地址https://www.toymoban.com/news/detail-774659.html
6
参考代码
a = input().split(' ')
print(len(a))
到了这里,关于【头歌-Python】Python第五章作业(初级)(7~16)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!