Python经典编程100个例子(一)

在讲解经典编程之前,先说一下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.程序源代码:

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

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

score = int(raw_input('input score:\n'))
if score >= 90:
    grade = 'A'
elif score >= 60:
    grade = 'B'
else:
    grade = 'C'

print '%d belongs to %s' % (score,grade)

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


import string
s = raw_input('input a string:\n')
letters = 0
space = 0
digit = 0
others = 0
for c in s:
    if c.isalpha():
        letters += 1
    elif c.isspace():
        space += 1
    elif c.isdigit():
        digit += 1
    else:
        others += 1
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.程序源代码:

Tn = 0
Sn = []
n = int(raw_input('n = :\n'))
a = int(raw_input('a = :\n'))
for count in range(n):
    Tn = Tn + a
    a = a * 10
    Sn.append(Tn)
    print Tn

Sn = reduce(lambda x,y : x + y,Sn)
print Sn

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


from sys import stdout
for j in range(2,1001):
    k = []
    n = -1
    s = j
    for i in range(1,j):
            if j % i == 0:
                n += 1
                s -= i
                k.append(i)
    
    if s == 0:
        print j
        for i in range(n):
            stdout.write(k[i])
            stdout.write(' ')
        print k[n]

           
 

物联沃分享整理
物联沃-IOTWORD物联网 » Python经典编程100个例子(一)

发表评论