本文整合了三种方法,参考了两种大佬的做法。
题目
本题要求提取一个字符串中的所有数字字符(‘0’……‘9’),将其转换为一个整数输出。
输入格式:
输入在一行中给出一个不超过80个字符且以回车结束的字符串。
输出格式:
在一行中输出转换后的整数。题目保证输出不超过长整型范围。
输入样例:
free82jeep5
输出样例:
825
代码
s = input()
res = 0
cnt = 0
for i in range(len(s)):
if s[i] >= '0' and s[i] <= '9':
res = res*10 +int(s[i])
print(res)
这是我以前学c的时候的方法:和的部分乘以十再加上新的个位,就可以输出一个整型了。然后我就在想:python有什么简便的方法嘛?果然。
方法一
s = input()
res = ""
for i in s:
if i >= '0' and i <= '9':
res += i
print(int(res))
方法2
a = input()
b = []
for n in a :
if n.isdigit():
b.append(n)
print(int("".join(b)))
知识点
for … in
for in :一种循环结构,常用于遍历字符串、列表,元组,字典等
- 字符串
py = 'python'
for i in py:
print(i, end=' ')
输出结果:p y t h o n
- 列表
lis = ['计算机网络', '数据结构', '算法分析', '通信原理']
for i in lis:
print(i)
输出结果:
计算机网络
数据结构
算法分析
通信原理
-字典
需要注意的是此时,遍历的是键
d = {'a':'apple', 'b':'banana', 'c':'car', 'd': 'desk'}
for key in d:
print(key, d.get(key))
输出结果:
a apple
b banana
c car
d desk
字符串操作符
操作符 | 描述 |
---|---|
+ | 字符串拼接 |
* | 重复输出字符串 |
[] | 通过索引获取字符串中字符 |
[ : ] | 截取字符串中的一部分 |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True |
isdigit()方法
str.isdigit()
isdigit() 方法检测字符串是否只由数字组成。如果字符串只包含数字则返回 True 否则返回 False。
join()方法
str.join(sequence)
sequence表示要连接的字符串序列,str指定字符之间的连接符。
str = '->'
seq1 = ['a', 'b', 'c'] #列表
seq2 = ('a', 'b', 'c') # 字符串序列
print(str.join(seq1))
print(str.join(seq2))
输出结果为:
a->b->c
a->b->c
参考链接:
https://blog.csdn.net/lwf1881/article/details/102878101
https://blog.csdn.net/chen_zan*yu/article/details/103350961