1题目描述
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(输入2次,每个字符串长度小于100)
输出描述:
输出到长度为8的新字符串数组
示例1
输入
abc 123456789
输出
abc00000 12345678 90000000
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
k
=
1
l
=
[]
while
k <
=
2
:
s
=
input
()
l.append(s)
k
+
=
1
for
i
in
range
(
2
):
if
len
(l[i]) <
=
8
:
print
(l[i]
+
'0'
*
(
8
-
len
(l[i])))
elif
len
(l[i]) >
8
:
m
=
int
(
len
(l[i])
/
8
)
n
=
len
(l[i])
%
8
h
=
0
t
=
8
for
p
in
range
(m):
print
(l[i][h:t])
h
+
=
8
t
+
=
8
if
n !
=
0
:
print
(l[i][h:
len
(l[i])
+
1
]
+
'0'
*
(
8
-
n))
|
看了一下网上的其他解答,感觉预先对输入的字符串处理一下效果会更好,比如预先8个8个把字符串拆开。
2题目描述
正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。 现给定A、DA、B、DB,请编写程序计算PA + PB。
输入描述:
输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 < A, B < 1010。
输出描述:
在一行中输出PA + PB的值。
输入例子:
3862767 6 13530293 3
输出例子:
399
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
s = input()
l = s.split()
pA =
''
pB =
''
for
i in l[
0
]:
if
i == l[
1
]:
pA += i
if
pA ==
''
:
pA =
'0'
for
j in l[
2
]:
if
j == l[
3
]:
pB += j
if
pB ==
''
:
pB =
'0'
print(
int
(pA) +
int
(pB))
|
网上还有两行解法:
链接:https://www.nowcoder.com/questionTerminal/fb581ea099a14f5d97c6149cbeee249f
来源:牛客网
1
2
3
|
a, b, c, d = input().split()
print(
int
(a.count(b) * b or
"0"
) +
int
(c.count(d) * d or
"0"
))
|