输入了一串字符串,请将其中的数字输出,若没有输入数字,则打印“无数字!”。用Python编写程序
时间: 2023-09-06 20:05:12 浏览: 86
### 回答1:
好的,您的要求我已经了解了,下面是您的问题的 Python 代码:
```python
s = input("请输入一个字符串:") # 获取用户输入的字符串
nums = "" # 定义一个字符串,用于存储找到的数字
for char in s: # 遍历输入的字符串
if char.isdigit(): # 如果当前字符是数字
nums += char # 将其添加到 nums 字符串里面
if nums == "": # 如果 nums 为空字符串
print("无数字!")
else:
print("找到的数字是:", nums) # 输出找到的数字
```
希望能够帮助到您!
### 回答2:
你可以使用Python的isdigit()方法来判断一个字符串是否为数字。然后,使用循环遍历输入的字符串,判断每个字符是否为数字,如果是则输出该字符。如果遍历完整个字符串后没有找到数字,则输出"无数字!"。以下是一个示例程序:
```python
string = input("请输入一串字符串:")
numbers = []
for char in string:
if char.isdigit():
numbers.append(char)
if numbers:
print("输入的数字为:" + ' '.join(numbers))
else:
print("无数字!")
```
在这个示例中,我们首先使用input()函数获取用户输入的字符串。然后,我们创建一个空列表numbers来存储找到的数字字符。接下来,我们使用for循环遍历输入的字符串中的每个字符。在循环中,我们使用isdigit()方法判断当前字符是否为数字,如果是则将其添加到numbers列表中。
循环完成后,我们使用if语句来检查numbers列表是否为空。如果非空,则通过' '.join(numbers)将列表中的数字字符连接成一个字符串,然后使用print()函数输出。否则,输出"无数字!"。
注意:如果你希望输出的数字之间用空格隔开,可以将' '.join(numbers)中的空格改为其他字符,比如逗号或者空格加换行符等。
### 回答3:
可以使用Python中的正则表达式库re来实现该功能。具体步骤如下:
1. 导入re模块。
2. 使用input()函数获取用户输入的字符串。
3. 使用re.findall()函数查找字符串中的所有数字。正则表达式"\d+"表示一个或多个数字。
4. 判断返回的结果是否为空,如果为空则打印"无数字!",否则打印找到的数字。
下面是完整的Python代码实现:
```python
import re
# 获取用户输入的字符串
string = input("请输入一串字符串:")
# 查找字符串中的数字
numbers = re.findall("\d+", string)
# 判断是否找到数字
if not numbers:
print("无数字!")
else:
print("找到的数字为:", end='')
for number in numbers:
print(number, end=' ')
```
通过以上程序,用户可以输入任意字符串,程序会从输入的字符串中提取出所有的数字并打印输出。如果输入字符串中没有数字,则程序会打印"无数字!"。
阅读全文