• python经典编程100例(1)


    在讲解经典编程之前,先说一下python的关键词。

    关键字

    含义

    False

    布尔类型的值,表示与 True 相反

    None

    None 比较特殊,表示什么也没有,它有自己的数据类型 - None Type

    True

    布尔类型的值,表示真,与 False相反

    and

    用于表达式运算,逻辑与操作

    as

    用于类型转换

    assert

    断言,用于判断变量或者表示式的值是否为真

    break

    中断循环语句的执行

    class

    用于定义类

    continue

    跳出本次循环,继续执行下一次循环

    def

    用于定义函数或方法

    del

    删除变量或序列的值

    elif

    条件语句,与 if、else 结合使用

    else

    条件语句,与 if、else 结合使用;也可以用于异常或循环语句

    except

    except 包含捕获异常后的操作代码块,与 try、finally 结合使用

    finally

    用于异常语句,出现异常后,始终要执行 finally 包含的代码块。与 try、except 结合使用

    for

    for 循环语句

    from

    用于导入模块,与 import 结合使用

    global

    定义全局变量

    if

    条件语句,与 else、elif 结合使用

    import

    用于导入模块,与 from 结合使用

    in

    判断变量是否在序列中

    is

    判断变量是否为某个类的实例

    lambda

    定义匿名函数

    nonlocal

    用于表示外部作用域的变量

    not

    用于表达式运算,逻辑非操作

    or

    用于表达式运算,逻辑或操作

    pass

    空的类、方法或函数的占位符

    raise

    异常抛出操作

    return

    用于从函数返回计算结果

    try

    try 包含可能会出现异常的语句,与 except、finally 结合使用

    while

    while 循环语句

    with

    简化 Python语句

    yield

    用于从函数一次返回值


     【程序1】
    题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
    1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去
          掉不满足条件的排列。 
    2.程序源代码:

    1. for i in range(1,5):
    2.     for j in range(1,5):
    3.         for k in range(1,5):
    4.             if( i != k ) and (i != j) and (j != k):
    5.                 print(i,j,k)

    【程序2】
    题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
    1.程序分析:(a>b)?a:b这是条件运算符的基本例子。
    2.程序源代码:
    不支持这个运算符
     

    1. score = int(raw_input('input score:\n'))
    2. if score >= 90:
    3.     grade = 'A'
    4. elif score >= 60:
    5.     grade = 'B'
    6. else:
    7.     grade = 'C'
    8. print '%d belongs to %s' % (score,grade)


    【程序3】
    题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
    1.程序分析:利用while语句,条件为输入的字符不为'\n'.
          
    2.程序源代码:

    1. import string
    2. s = raw_input('input a string:\n')
    3. letters = 0
    4. space = 0
    5. digit = 0
    6. others = 0
    7. for c in s:
    8.     if c.isalpha():
    9.         letters += 1
    10.     elif c.isspace():
    11.         space += 1
    12.     elif c.isdigit():
    13.         digit += 1
    14.     else:
    15.         others += 1
    16. print 'char = %d,space = %d,digit = %d,others = %d' % (letters,space,digit,others)

    【程序4】
    题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时
       共有5个数相加),几个数相加有键盘控制。
    1.程序分析:关键是计算出每一项的值。
    2.程序源代码:

    1. Tn = 0
    2. Sn = []
    3. n = int(raw_input('n = :\n'))
    4. a = int(raw_input('a = :\n'))
    5. for count in range(n):
    6.     Tn = Tn + a
    7.     a = a * 10
    8.     Sn.append(Tn)
    9.     print Tn
    10. Sn = reduce(lambda x,y : x + y,Sn)
    11. print Sn

    '''
    【程序5】
    题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程
       找出1000以内的所有完数。
    1. 程序分析:. 
    2.程序源代码:

    1. from sys import stdout
    2. for j in range(2,1001):
    3.     k = []
    4.     n = -1
    5.     s = j
    6.     for i in range(1,j):
    7.             if j % i == 0:
    8.                 n += 1
    9.                 s -= i
    10.                 k.append(i)
    11.     
    12.     if s == 0:
    13.         print j
    14.         for i in range(n):
    15.             stdout.write(k[i])
    16.             stdout.write(' ')
    17.         print k[n]

               
     

  • 相关阅读:
    如何通过SK集成chatGPT实现DotNet项目工程化?
    【Java】JDK 版本切换(Windows)
    深入理解JVM虚拟机_3 常见的Java虚拟机
    【信息化】软考高项(信息系统项目管理师)论文自我总结精华和模板
    【canal系】canal集群异常Could not find first log file name in binary log index file
    Linux之软件包管理
    MySQL教程
    LVS-DR模式单网段和多网段案例实现
    C#版字节跳动SDK - SKIT.FlurlHttpClient.ByteDance
    提高生产力!这10个Lambda表达式必须掌握,开发效率嘎嘎上升!
  • 原文地址:https://blog.csdn.net/BROKEN__Y/article/details/126671575