Python 练习:剔除数字

练习:剔除数字:

要求如下:
1、编写一段程序代码,程序运行后,
需要用户随意输入一段包含有数字和字母的字符串;
2、程序会自动删除字符串中的数字,
然后输出一串没有数字的字符串(纯字母的字符串)或者列表(没有数字);
3、要求输出的非数字的字符顺序不能变。

方法一:

def delNumber1(str1):
    for i in str1:
        #if i=='0' or i=='1' or i=='2' or i=='3' or i=='4' or i=='5' or i=='6' or i=='7' or i=='8' or i=='9':
        if i in ['0','1','2','3','4','5','6','7','8','9']:
            continue
        print(i,end="")
    print()
方法二:
知识拓展:在python中,默认是按照ascii的大小比较的;

字符串按位比较,两个字符串第一位字符的ascii码谁大,
字符串就大,不再比较后面的;
第一个字符相同就比第二个字符串,以此类推。
注意:空格的ascii码是32,空(null)的ascii码是0,
大写字母和小写字母的ascii不同。

def delNumber2(str1):
    a=[]
    for i in range(len(str1)):
        if str1[i]<'0' or str1[i]>'9':
            a.append(str1[i])
    str1=''.join(a)
    print(str1)
方法三:
知识拓展: ord()可以将字符转换为ASCII码  chr()可以将ASCII码转换为字符:
def delNumber3(str1):
    for i in str1:
        if ord(i)>=48 and ord(i)<=57:
            continue
        print(i,end="")
    print()

调用函数

str1=input('请输入一段包含有数字和字母的字符串:')
delNumber1(str1)
delNumber2(str1)
delNumber3(str1)

运行结果
在这里插入图片描述

在这里插入图片描述
如果你感觉有收获,欢迎给我打赏 ———— 以激励我输出更多优质内容
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_40762926/article/details/132500676
今日推荐