【python】编程语言入门经典100例--17

简介:

  1 #题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。


代码:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
   2 
   3  li  = list ( input ( '输入一行字符:' ))
   4  liletter  =  []
   5  linum  =  []
   6  lispace  =  []
   7  liother  =  []
   8  for  in  li:
   9      if  str .isalpha(x)  = =  True :
  10          liletter.append(x)
  11      elif  str .isspace(x):
  12          lispace.append(x)
  13      elif  str .isdigit(x)  = =  True :
  14          linum.append(x)
  15      else :
  16          liother.append(x)
  17  print ( '这行字符串的英文字母有%d个,空格有%d个,数字有%d个,其它字符有%d个' % ( len (liletter), len (lispace), len (linum), len (liother)))


运行结果:


1
2
3
4
5
6
7
8
9
10
[root@HK code_100] # python code_17.py 
输入一行字符: 12  jkl * ^hjk  & * ^& * Hkjh  123123   fskldkl2354   ewrjlk234$
这行字符串的英文字母有 23 个,空格有 9 个,数字有 15 个,其它字符有 8
[root@HK code_100] # python code_17.py 
输入一行字符: 1  #  dfs  234 2k3r43yiuofds o9 sdf 
这行字符串的英文字母有 17 个,空格有 10 个,数字有 9 个,其它字符有 1
[root@HK code_100] # python code_17.py 
输入一行字符: 234jl  2134j  oijo sf  08  @ #&*jhjho &*^&*  (!@*!_)  234  dsfs
这行字符串的英文字母有 18 个,空格有 12 个,数字有 12 个,其它字符有 16
[root@HK code_100] #


代码分析:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  # 这个不能用type(x) == type ('2')这种方式,因为将这一行字符转换成list后,list中的元素都是str类型,所以不能用这种方式.
  
   2 
   3  li  = list ( input ( '输入一行字符:' ))          #接收输入的字符,转换成list
   4  liletter  =  []                             #建立需要使用的list
   5  linum  =  []
   6  lispace  =  []
   7  liother  =  []
   8  for  in  li:                            #遍历list
   9      if  str .isalpha(x)  = =  True :             # 如果这个字符是字母
  10          liletter.append(x)                 # 添加到相应list
  11      elif  str .isspace(x):                 #如果这个字符是空格
  12          lispace.append(x)                 # 添加到相应list
  13      elif  str .isdigit(x)  = =  True :         #如果这个字符是数字
  14          linum.append(x)                 #添加到相应list
  15      else :                                 #其余未匹配字符
  16          liother.append(x)                 #添加到相应list
  17  print ( '这行字符串的英文字母有%d个,空格有%d个,数字有%d个,其它字符有%d个' % ( len (liletter), len (lispace), len (linum), len (liother)))       #打印结果




      本文转自snc_snc 51CTO博客,原文链接:http://blog.51cto.com/netsyscode/1746776 ,如需转载请自行联系原作者






相关文章
|
7天前
|
安全 数据处理 开发者
Python中的多线程编程:从入门到精通
本文将深入探讨Python中的多线程编程,包括其基本原理、应用场景、实现方法以及常见问题和解决方案。通过本文的学习,读者将对Python多线程编程有一个全面的认识,能够在实际项目中灵活运用。
|
15天前
|
Python
【python从入门到精通】-- 第五战:函数大总结
【python从入门到精通】-- 第五战:函数大总结
47 0
|
2天前
|
数据采集 机器学习/深度学习 人工智能
Python编程入门:从基础到实战
【10月更文挑战第24天】本文将带你进入Python的世界,从最基础的语法开始,逐步深入到实际的项目应用。我们将一起探索Python的强大功能和灵活性,无论你是编程新手还是有经验的开发者,都能在这篇文章中找到有价值的内容。让我们一起开启Python的奇妙之旅吧!
|
4天前
|
数据采集 存储 数据库
Python中实现简单爬虫的入门指南
【10月更文挑战第22天】本文将带你进入Python爬虫的世界,从基础概念到实战操作,一步步指导你如何使用Python编写一个简单的网络爬虫。我们将不展示代码示例,而是通过详细的步骤描述和逻辑讲解,帮助你理解爬虫的工作原理和开发过程。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你打开一扇通往数据收集新世界的大门。
|
2天前
|
测试技术 开发者 Python
探索Python中的装饰器:从入门到实践
【10月更文挑战第24天】 在Python的世界里,装饰器是一个既神秘又强大的工具。它们就像是程序的“隐形斗篷”,能在不改变原有代码结构的情况下,增加新的功能。本篇文章将带你走进装饰器的世界,从基础概念出发,通过实际例子,逐步深入到装饰器的高级应用,让你的代码更加优雅和高效。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开一扇通往高效编程的大门。
|
4天前
|
存储 人工智能 数据挖掘
Python编程入门:构建你的第一个程序
【10月更文挑战第22天】编程,这个听起来高深莫测的词汇,实际上就像搭积木一样简单有趣。本文将带你走进Python的世界,用最浅显的语言和实例,让你轻松掌握编写第一个Python程序的方法。无论你是编程新手还是希望了解Python的爱好者,这篇文章都将是你的理想起点。让我们一起开始这段奇妙的编程之旅吧!
13 3
|
3天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
机器学习基础:使用Python和Scikit-learn入门
11 1
|
5天前
|
存储 程序员 开发者
Python编程入门:从零开始掌握基础语法
【10月更文挑战第21天】本文将带你走进Python的世界,通过浅显易懂的语言和实例,让你快速了解并掌握Python的基础语法。无论你是编程新手还是想学习一门新的编程语言,这篇文章都将是你的不二之选。我们将一起探索变量、数据类型、运算符、控制结构、函数等基本概念,并通过实际代码示例加深理解。准备好了吗?让我们开始吧!
|
9天前
|
存储 算法 Python
【10月更文挑战第16天】「Mac上学Python 27」小学奥数篇13 - 动态规划入门
本篇将通过 Python 和 Cangjie 双语介绍动态规划的基本概念,并解决一个经典问题:斐波那契数列。学生将学习如何使用动态规划优化递归计算,并掌握编程中的重要算法思想。
68 3
|
11天前
|
设计模式 开发者 Python
Python编程中的设计模式:从入门到精通####
【10月更文挑战第14天】 本文旨在为Python开发者提供一个关于设计模式的全面指南,通过深入浅出的方式解析常见的设计模式,帮助读者在实际项目中灵活运用这些模式以提升代码质量和可维护性。文章首先概述了设计模式的基本概念和重要性,接着逐一介绍了几种常用的设计模式,并通过具体的Python代码示例展示了它们的实际应用。无论您是Python初学者还是经验丰富的开发者,都能从本文中获得有价值的见解和实用的技巧。 ####