import res = input("请输入字符串:")pattern = r'\b\d{3}-\d{8}\b|\b\d{4}-\d{7}\b' # 匹配格式为xxx-xxxxxxxx或xxxx-xxxxxxx的电话号码phone_nums = re.findall(pattern, s)print("提取到的电话号码为:")for num in phone_nums: print(num)为什么输出不了
时间: 2023-06-15 20:06:19 浏览: 41
你的代码中使用了变量名s,而不是之前输入的变量名res,这可能是导致输出不了的原因。请修改代码如下:
```python
import re
res = input("请输入字符串:")
pattern = r'\b\d{3}-\d{8}\b|\b\d{4}-\d{7}\b' # 匹配格式为xxx-xxxxxxxx或xxxx-xxxxxxx的电话号码
phone_nums = re.findall(pattern, res)
print("提取到的电话号码为:")
for num in phone_nums:
print(num)
```
另外,需要注意的是,输入的字符串中必须包含符合条件的电话号码才能输出,否则输出为空。
相关问题
先从键盘上输入一个文件import os fname=input("输入文件名:") f=open(fname, ,encoding = "utf-8") ch=input("输入以@为结束的字符串:\n") while ch!='@': if '@'in ch: t=ch.find('@') break else: fp.write(ch+" ") f.close()
好的,这段代码存在两个问题:
1. 在打开文件时,没有指定文件的打开模式。应该使用 "w" 模式表示以写入的方式打开文件。
2. 在写入文件时,使用了 `fp` 变量来代替 `f` 变量,这是不正确的。
修正后的代码如下:
```python
import os
fname = input("输入文件名:")
f = open(fname, "w", encoding="utf-8")
ch = input("输入以@为结束的字符串:\n")
while ch != '@':
if '@' in ch:
t = ch.find('@')
f.write(ch[:t])
break
else:
f.write(ch + " ")
ch = input("输入以@为结束的字符串:\n")
f.close()
```
在修正后的代码中,我们使用了 "w" 模式打开文件,并将文件对象赋值给了变量 `f`。在循环中,使用 `input()` 函数获取用户输入的字符串,并判断字符串中是否包含 "@" 字符。如果包含 "@" 字符,则使用 `find()` 方法获取该字符在字符串中的位置,并将 "@" 之前的部分写入到文件中。然后使用 `break` 语句跳出循环。如果不包含 "@" 字符,则直接将该字符串写入文件中。最后使用 `close()` 方法关闭文件。
先从键盘上输入一个文件名,然后输入一些以@为结束的字符,将字符写入到该文件中。 import os fname=input("输入文件名:") f=open(fname, ,encoding = "utf-8") ch=input("输入以@为结束的字符串:\n") while ch!='@': if '@'in ch: t=ch.find('@') break else: fp.write(ch+" ") f.close()
在你提供的代码中,有一些错误和不完整的部分。以下是修正后的代码:
```python
import os
fname = input("输入文件名:")
f = open(fname, "w", encoding="utf-8")
while True:
ch = input("输入以@为结束的字符串:")
if "@" in ch:
t = ch.find("@")
f.write(ch[:t])
break
else:
f.write(ch+" ")
f.close()
```
修改后的代码有以下改动:
1. 第二行代码中,将文件打开模式设置为 "w",表示以写入模式打开文件,如果文件不存在则创建该文件。
2. 在 while 循环中,不断输入字符串,如果字符串中包含 "@",则取出 "@" 前的部分写入文件,然后退出循环;否则将整个字符串写入文件,并在字符串后添加一个空格,以便在读取文件时更好地区分不同输入的字符串。
3. 最后关闭文件。
注意事项:
1. 在输入文件名时,需要输入文件的完整路径,否则默认保存在当前工作目录下。
2. 在写入文件时,需要使用正确的编码方式,否则可能出现乱码等问题。在本例中,使用 UTF-8 编码方式。
3. 在使用完文件后,需要关闭文件,以释放资源。