分模块积累,此模块为按要求【取数】,技巧多,偏灵活。

1. 有 n 个小朋友围在一起玩游戏,游戏规则是这样的:每一轮每个小朋友都自由地从 1-99 中选择一个数,主持人每一轮都会报一个 1-9 的数字x,当小朋友的编号满足一下两个条件的任何一个时要蹲下(否则会被淘汰):

1)编号的数字有 x(如x=3,编号=13,则该小朋友要蹲下)

2)该编号能整除 x

例如:

输入 n 个小朋友的编号和数字 x :

1 3 6 8 21

2

输出要蹲下的小朋友的编号:

2
6
8
21

1.1 判断含某数字的两位数:

'''判断输出'''
for i in range(len(l)):
    if max(l[i])==x or min(l[i])==x:
        print(int(l[i]))
    elif int(l[i])%int(x)==0:
        print(int(l[i]))

--这里采用取巧的方法,利用 max() 和 min() 函数,来取得字符串中的不同的两位数字。

1.2 题解:

'''处理输入'''
s=input()
l=s.split(' ')
x=input()
'''判断输出'''
for i in range(len(l)):
    if max(l[i])==x or min(l[i])==x:
        print(int(l[i]))
    elif int(l[i])%int(x)==0:
        print(int(l[i]))

2. 一个正整数的平方的尾数一位或者几位数等于这个正整数,称为自守数。

如:
正整数5的平方为25,25的尾数一位是5
正整数25的平方为625,625的尾数两位是25
编程实现:
给定一个正整数,判断这个正整数是否为自守数,如果是输出大写字母Y,否则输出大写字母N
注:1为自守数

2.1 切片确定后几位:

'''判断输出'''
if s_q[-l:]==s:
    print('Y')
else:
    print('N')

--这里同样采用取巧的方法,利用切片来取得平方后几位(若一位)等于该数(则一位)

2.2 题解:

'''输入、初始化'''
s=input()
s_q=str(int(s)**2)
l=len(s)
'''判断输出'''
if s_q[-l:]==s:
    print('Y')
else:
    print('N')

3. 输入一个只包含大小写字母的字符串,将字符串全部变为大写字母,然后逆序(反向)输出

样例输入:aCb
样例输出:BCA

3.1 反向输出:

'''反向输出'''
print(s[::-1])

--这里利用切片步长,使得反向输出。

3.2 题解:

'''输出'''
s=input()
'''大写、字符串排序'''
s=s.upper()
'''反向输出'''
print(s[::-1])

4. 将一个列表的数据复制到另一个列表中。

4.1 列表复制:

'''复制'''
l2=l1[:]

--这里采用切片,将原列表中的所有数都复制到另一列表中。

4.2 题解:

'''处理输入'''
s=input()
l1=s.split(',')
for i in range(len(l1)):
    if l1[i].isdigit():
        l1[i]=int(l1[i])
'''复制'''
l2=l1[:]
'''输出'''
print(l2)

5. 回文判断

一个字符串,如果各字符反向排列与原字符串相同,则称为回文,如“上海自来水来自海上”,用户输入一个字符串,判断该字符串是否为回文,如是回文输出“True”,否则输出“False”。

5.1 判断规则:

if s[:]==s[::-1]:

--各字符反向排列与原字符串相同。

5.2 题解:

s=input()
if s[:]==s[::-1]:
    print('True')
else:
    print('False')