《Python 2》--python保留字、引号、运算符 、循环语句、循环嵌套(图形打印)

mac2022-06-30  32

■Python 保留字符

下面的列表显示了在Python中的保留字。这些保留字不能用作常数或变数, 或任何其他标识符名称。

所有 Python 的关键字只包含小写字母。

and            exec        not assert        finally     or break         for           pass class          from        print continue    global      raise def              if              return del              import     try elif              in             while else            is             with except       lambda    yield

引入包,打印输出python中的关键字import keyword print(keyword.kwlist)

['and', 'as', 'assert', 'break', 'class', 'continue',  'def', 'del', 'elif', 'else', 'except', 'exec', 'finally',  'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda',  'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while',  'with', 'yield']  

■Python 引号

Python 可以使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串, 引号的开始与结束必须的相同类型的。

其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串, 在文件的特定地点,被当做注释。

word = 'word' sentence = "这是一个句子。" paragraph = """这是一个段落。 包含了多个语句"""

 

■Python 运算符

什么是运算符? 本章节主要说明Python的运算符。 举个简单的例子 4 +5 = 9 。  例子中,4 和 5 被称为操作数,"+" 称为运算符。

Python语言支持以下类型的运算符:

算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 接下来让我们一个个来学习Python的运算符。

■Python算术运算符

以下假设变量: a=10,b=20:

运算符    描述                                                                   实例 +          加 - 两个对象相加                                         a + b 输出结果 30 -           减 - 得到负数或是一个数减去另一个数         a - b 输出结果 -10 *           乘 - 两个数相乘或是返回一个被重复若干次的字符串             a * b 输出结果 200 /           除 - x除以y                                                     b / a 输出结果 2 %        取模 - 返回除法的余数                                    b % a 输出结果 0 **        幂 - 返回x的y次幂                                            a**b 为10的20次方, 输出结果 100000000000000000000 //         取整除 - 返回商的整数部分(向下取整)        9//2 输出结果 4 , 9.0//2.0 输出结果 4.0

输出结果:字符串和数字之间拼接用“,” a = 21 b = 10 c = 0   c = a + b print "1 - c 的值为:", c   #print("1 - c 的值为:", c)

课堂练习分别演示 + - * /  %  

***注意 Python2.x 里,整数除整数,只能得出整数1/2=0。python3中,1/2=0.5(分别演示python2.x, python3.x)

a = 1 b = 2 c = 0

c = a / b print "a / b 的值为:", c

如果要得到小数部分,把其中一个数改成浮点数即可。 >>> 1.0/2 0.5 >>> 1/float(2) 0.5

■Python比较运算符

以下假设变量a为10,变量b为20:

运算符                               描述                                                                         实例 ==                   等于 - 比较对象是否相等    (a == b)                                             返回 False。 !=              不等于 - 比较两个对象是否不相等    (a != b)          python3               返回 true. <>                 不等于 - 比较两个对象是否不相等    (a <> b)     python2               返回 true。这个运算符类似 != 。 >                          大于 - 返回x是否大于y    (a > b)                                              返回 False。 <          小于 - 返回x是否小于y。所有比较运算符返回1表示真,                        返回0表示假。这分别与特殊的变量True和False                                                                                                                                等价。    (a < b) 返回 true。 >=                  大于等于    - 返回x是否大于等于y。                                             (a >= b) 返回 False。 <=                  小于等于 -    返回x是否小于等于y。                                             (a <= b) 返回 true。

■行和缩进

学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {}  来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。

缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量, 这个必须严格执行。如下所示:

if 判断条件1:     执行语句1…… elif 判断条件2:     执行语句2…… elif 判断条件3:     执行语句3…… else:     执行语句4……

if True:     print "True" elif True:     print "True" else:   print "False"

  实例1:

a = 21 b = 10 c = 0   if ( a == b ):    print "1 - a 等于 b" else:    print "1 - a 不等于 b"   if ( a != b ):    print "2 - a 不等于 b" else:    print "2 - a 等于 b"   if ( a <> b ):    print "3 - a 不等于 b" else:    print "3 - a 等于 b"   if ( a < b ):    print "4 - a 小于 b"  else:    print "4 - a 大于等于 b"   if ( a > b ):    print "5 - a 大于 b" else:    print "5 - a 小于等于 b"   # 修改变量 a 和 b 的值 a = 5 b = 20 if ( a <= b ):    print "6 - a 小于等于 b" else:    print "6 - a 大于  b"   if ( b >= a ):    print "7 - b 大于等于 a" else:    print "7 - b 小于 a"

简单的语句组: 你也可以在同一行的位置上使用if条件判断语句,如下实例:

实例 #!/usr/bin/python  # -*- coding: UTF-8 -*-   var = 100    if ( var  == 100 ) : print "变量 var 的值为100"    print "Good bye!"

课堂练习1,控制台输入两个数, 输出最大数Python2:

a = raw_input("请输入第一个数") b = raw_input("请输入第二个数") if (int(a) > int(b)):     print "最大数是",a else:     print "最大数是",b

Python3: a = input("请输入第一个数") 课堂练习2,输入工资数 大于 10000,输出“牛”;工资数 大于 5000 输出“还行”;  否则输出现“好好学习吧!"

num = raw_input("请输入您的工资数")  (同学会写出这样的代码, 断点跟踪技术查看类型并不是num类型,所以需要进行类型的转换) #print("类型:",type(num)) #num = int(num) #print("类型:",type(num)) if num >= 10000:     print "牛" elif num >= 5000:     print "还行" else:     print "好好学习吧!"

修改上面案例:

num = raw_input("请输入您的工资数") i_num = int(num) #进行类型转换 if i_num >= 10000:     print "牛" elif i_num >= 5000:     print "还行" else:     print "好好学习吧!"

例:类型转换例子:

num = 1 string = '1' num3 = num + string #num3 = num + int(string) print num3

例:字符串相乘 word = 'word' * 3

print word

python中0为假,非0为真

#encoding=UTF-8 '''

a=-12 # 0 1  if a:     print "a为真" else:     print "a为假" str=""         #"abc" if str:     print "str 为真" else:     print "str为假" list=[]        #list=[1,2] if list:     print "list为真" else:     print "list为假" dict={}        #dict={"name":"zhangsan"}  if dict:     print "dict为真" else:     print "dict为假" tup=()         #tup=(1,3,4) if tup:     print "tup为真" else:     print "tup为假"

课堂练习:请输入成绩90-100:A,80-90:B,70-80:C,60-70:D,60以下E #!/usr/bin/python # -*- coding: UTF-8 -*-

score_str = raw_input("请输入你的成绩:") score =int(score_str) if score>=90 and score<=100:     print '本次考试,等级为A' elif score>=80 and score<90:     print '本次考试,等级为B' elif score>=70 and score<80:     print '本次考试,等级为C' elif score>=60 and score<70:     print '本次考试,等级为D' elif score>=0 and score<60:     print '本次考试,等级为E' else:     print '请做类型转换'

■Python赋值运算符

以下假设变量a为10,变量b为20:

运算符    描述                         实例=       简单的赋值运算符              c = a + b 将 a + b 的运算结果赋值为 c +=     加法赋值运算符                  c += a 等效于 c = c + a -=      减法赋值运算符                  c -= a 等效于 c = c - a *=      乘法赋值运算符                  c *= a 等效于 c = c * a /=       除法赋值运算符                 c /= a 等效于 c = c / a %=    取模赋值运算符                  c %= a 等效于 c = c % a **=    幂赋值运算符                      c **= a 等效于 c = c ** a //=     取整除赋值运算符              c //= a 等效于 c = c // a

a = 21 b = 10 c = 0

c = a + b                    # a += b print "1 - c 的值为:", c    # " a += b 的值为:", a

以下运行结果是什么? a = 21 b = 10 c = 0

c = a + b print "1 - c 的值为:", c

c += a print "2 - c 的值为:", c

1 - c 的值为: 31 2 - c 的值为: 52

■Python位运算符

  a = 0011 1100按位运算符是把数字看作二进制来进行计算的。 Python中的按位运算法则如下: 下表中变量 a 为 60,b 为 13,二进制格式如下:

  b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a  = 1100 0011

运算符描述实例&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0(a & b) 输出结果 12 , 二进制解释: 0000 1100| 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。(a | b) 输出结果 61 , 二进制解释: 0011 1101^ 按位异或运算符:当两对应的二进位相异时,结果为1(a ^ b) 输出结果 49 , 二进制解释: 0011 0001~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1                           (~a ) 输出结果 -61 ,  二进制解释: 1100 0011,在一个有符号二进制数的补码形式。<<左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。 a << 2 输出结果 240 ,二进制解释: 1111 0000>>右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数。a >> 2 输出结果 15 , 二进制解释: 0000 1111

a = 60            # 60 = 0011 1100  b = 13            # 13 = 0000 1101  c = 0

c = a & b;        # 12 = 0000 1100 print "1 - c 的值为:", c   c = a | b;        # 61 = 0011 1101  print "2 - c 的值为:", c   c = a ^ b;        # 49 = 0011 0001 print "3 - c 的值为:", c   c = ~a;           # -61 = 1100 0011 print "4 - c 的值为:", c   c = a << 2;       # 240 = 1111 0000 print "5 - c 的值为:", c   c = a >> 2;       # 15 = 0000 1111 print "6 - c 的值为:", c

■Python逻辑运算符  (和, 或, 取反)

Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:

运算符逻辑表达式 描述实例andx and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。or x or y 布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。(a or b) 返回 10。not  not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。not(a and b) 返回 False。

优先级:not>and>or 

案例: #!/usr/bin/python # -*- coding: UTF-8 -*-

a = 10 b = 20 if (a and b):     print "1 - 变量 a 和 b 都为 true" else:     print "1 - 变量 a 和 b 有一个不为 true" if (a or b):     print "2 - 变量 a 和 b 都为 true,或其中一个变量为 true" else:     print "2 - 变量 a 和 b 都不为 true"

# 修改变量 a 的值

a = 0 #b = 0  if not (a and b): if (a and b):     print "3 - 变量 a 和 b 都为 true" else:     print "3 - 变量 a 和 b 有一个不为 true" if (a or b):     print "4 - 变量 a 和 b 都为 true,或其中一个变量为 true" else:     print "4 - 变量 a 和 b 都不为 true" if not (a and b):     print "5 - 变量 a 和 b 都为 false,或其中一个变量为 false" else:     print "5 - 变量 a 和 b 都为 true"

以上实例输出结果:

1 - 变量 a 和 b 都为 true 2 - 变量 a 和 b 都为 true,或其中一个变量为 true 3 - 变量 a 和 b 有一个不为 true 4 - 变量 a 和 b 都为 true,或其中一个变量为 true 5 - 变量 a 和 b 都为 false,或其中一个变量为 false

■Python成员运算符

除了以上的一些运算符之外,Python还支持成员运算符, 测试实例中包含了一系列的成员,包括字符串,列表或元组。

运算符  描述实例in如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。not in如果在指定的序列中没有找到值返回 True,否则返回 False。x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

查找元素("查"in、not in) 所谓的查找,就是看看指定的元素是否存在 python中查找的常用方法为: in(存在),如果存在那么结果为true,否则为false not in(不存在),如果不存在那么结果为true,否则false 例1:

#待查找的列表     nameList = ['xiaoWang','xiaoZhang','xiaoHua']     #获取用户要查找的名字     findName = raw_input('请输入要查找的姓名:')     #查找是否存在     if findName in nameList:         print '在字典中找到了相同的名字'     else:         print '没有找到'

运行结果: 请输入要查找的姓名:xiaoWang 在字典中找到了相同的名字

例2:

a = 10 b = 20 list = [1, 2, 3, 4, 5 ];   if ( a in list ):    print "1 - 变量 a 在给定的列表中 list 中" else:    print "1 - 变量 a 不在给定的列表中 list 中"   if ( b not in list ):    print "2 - 变量 b 不在给定的列表中 list 中" else:    print "2 - 变量 b 在给定的列表中 list 中"

以上实例输出结果: 1 - 变量 a 不在给定的列表中 list 中 2 - 变量 b 不在给定的列表中 list 中

# 修改变量 a 的值

a = 2 if ( a in list ):    print "3 - 变量 a 在给定的列表中 list 中" else:    print "3 - 变量 a 不在给定的列表中 list 中"

以上实例输出结果: 3 - 变量 a 在给定的列表中 list 中

■Python身份运算符

身份运算符用于比较两个对象的存储单元

运算符描述  实例isis 是判断两个标识符是不是引用自一个对象x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 Falseis notis not 是判断两个标识符是不是引用自不同对象x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

 

a = 20 b = 20   if ( a is b ):    print "1 - a 和 b 有相同的标识" else:    print "1 - a 和 b 没有相同的标识"   if ( a is not b ):    print "2 - a 和 b 没有相同的标识" else:    print "2 - a 和 b 有相同的标识"

# 修改变量 b 的值

b = 30 if ( a is b ):    print "3 - a 和 b 有相同的标识" else:    print "3 - a 和 b 没有相同的标识"   if ( a is not b ):    print "4 - a 和 b 没有相同的标识" else:    print "4 - a 和 b 有相同的标识"

以上实例输出结果:

1 - a 和 b 有相同的标识 2 - a 和 b 有相同的标识 3 - a 和 b 没有相同的标识 4 - a 和 b 没有相同的标识

■is 与 == 区别(类似于java中的什么?):

is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

>>> a = [1, 2, 3] >>> b = a >>> b is a  True >>> b == a True >>> b = a[:] >>> print(b) [1, 2, 3] >>> b is a False >>> b == a True

■Python运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:

a = 20 b = 10 c = 15 d = 5 e = 0   e = (a + b) * c / d       #( 30 * 15 ) / 5 print "(a + b) * c / d 运算结果为:",  e   e = ((a + b) * c) / d     # (30 * 15 ) / 5 print "((a + b) * c) / d 运算结果为:",  e   e = (a + b) * (c / d);    # (30) * (15/5) print "(a + b) * (c / d) 运算结果为:",  e   e = a + (b * c) / d;      #  20 + (150/5) print "a + (b * c) / d 运算结果为:",  e

以上实例输出结果: (a + b) * c / d 运算结果为: 90 ((a + b) * c) / d 运算结果为: 90 (a + b) * (c / d) 运算结果为: 90 a + (b * c) / d 运算结果为: 50

■Python提供了for循环和while循环(在Python中没有do..while循环):

循环类型    描述 while 循环    在给定的判断条件为 true 时执行循环体,否则退出循环体。 for 循环    重复执行语句 嵌套循环    你可以在while循环体中嵌套for循环

循环控制语句 循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:

■控制语句        描述 break 语句        在语句块执行过程中终止循环,并且跳出整个循环 continue 语句    在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环 pass 语句        pass是空语句,是为了保持程序结构的完整性。

■Python While 循环语句 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序, 以处理需要重复处理的相同任务

其基本语法为: while 判断条件:     执行语句……

例1:如果count小于9 输出count值 count = 0 while (count < 9):    print 'The count is:', count    count = count + 1   print "Good bye!"

课堂练习: 用while实现求1到5的和:

count = 0 sum = 0 while (count <= 5):     print 'The count is:', count     sum = sum + count     count = count +1

print "1-5的和为:",sum

■while 语句时还有另外两个重要的命令 continue,break 来跳过循环, continue 用于跳过本次循环, break 则是用于退出循环

       例:打印1到10的奇数,输出

#!/usr/bin/python # -*- coding: UTF-8 -*-r n = 0 while n < 10:     n = n + 1     if n % 2 == 0: # 如果n是偶数,执行continue语句         continue # continue语句会直接继续下一轮循环,                    后续的print()语句不会执行     print n 

例break:定义变量i=0,变量自加,如果大于10,停止输出 

i = 0 while True:     i = i+1     print i     if i>=10:         break

i = 0 var = 1 while var == 1: #无限循环     i = i+1     print i     if i>=10:         break

■循环使用 else 语句

在 python 中,while … else 在循环条件为 false 时执行 else 语句块:

count = 0 while count < 5:    print count, " 这个数小于 5"    count = count + 1 else:    print count, "这个数不能大于 5"

注意:以上的无限循环你可以使用 CTRL+C 来中断循环。

练习1: 剪刀、石头、布

#!/usr/bin/python # -*- coding: UTF-8 -*-r #剪刀、石头、布 import random  player=int(raw_input('剪刀/0、石头/1、布/2:')) computer=random.randint(0,2) if(player==2 and computer==1 or player==1 and computer==0 or player==0 and computer==2):   print "玩家赢 ..." elif player==computer:   print '平局,白玩!' else:   print "电脑赢 " 

练习2:循环玩游戏

#!/usr/bin/python # -*- coding: UTF-8 -*-r #剪刀、石头、布 import random answer=raw_input('剪刀、石头、布开始游戏(y/n)') while answer=='y':    player=int(raw_input('剪刀/0、石头/1、布/2:'))    computer=random.randint(0,2)    if(player==2 and computer==1 or player==1 and computer==0 or player==0 and computer==2):       print "玩家赢 ..."    elif player==computer:       print '平局,白玩!'    else:       print "电脑赢 ..."    answer=raw_input('剪刀、石头、布继续吗(y/n)')

while循环实现99乘法表 %d字符串拼接,占位符用元组的方式实现

# -*- coding: UTF-8 -*- #python3 r=1 while r<=9:     c=1     while c<=r:         print("%d * %d = %d" % (c,r,(c*r)),end='\t') #end=' '         c+=1     print()     r += 1 #python2 r=1 while r<=9:     c=1     while c<=r:         print "%d * %d = %d" % (c,r,(c*r)),   #end=' '         c+=1     print     r += 1

    ■Python for 循环语句 

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

语法:

for循环的语法格式如下:

for iterating_var in sequence:    statements(s)

# 第一个实例

for letter in 'Python':        print '当前字母 :', letter

运行结果: ______________ 当前字母 : P 当前字母 : y 当前字母 : t 当前字母 : h 当前字母 : o 当前字母 : n

# 第二个实例

fruits = ['banana', 'apple',  'mango'] for fruit in fruits:            print '当前水果 :', fruit   print "Good bye!"

■continue语句: for letter in 'Python':     # 第一个实例    if letter == 'h':       continue    print '当前字母 :', letter

运行结果: 当前字母 : P 当前字母 : y 当前字母 : t 当前字母 : o 当前字母 : n

■break语句: for letter in 'Python':         if letter == 'h':       break    print '当前字母 :', letter

运行结果: 当前字母 : P 当前字母 : y 当前字母 : t

■for else循环,只有遇到break时else语句才不会被执行

#!/usr/bin/python # -*- coding: UTF-8 -*- for letter in 'Python':    print '当前字母 :', letter    if letter == 'h':        break  else:    print 'OK'

■Python pass 语句

Python pass是空语句,是为了保持程序结构的完整性(不做任何事情,就是一个占位符)。   空函数如果想定义一个什么事也不做的空函数,可以用pass语句:

def nop():     pass pass语句什么都不做,那有什么用?实际上pass可以用来作为占位符, 比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。

pass还可以用在其他语句里,比如:

if age >= 18:     pass 缺少了pass,代码运行就会有语法错误。

 

pass 实例:

#!/usr/bin/python # -*- coding: UTF-8 -*-  # 输出 Python 的每个字母 for letter in 'Python':    if letter == 'h':       pass       print '这是 pass 块'    print '当前字母 :', letter print "Good bye!"

以上实例执行结果:

当前字母 : P 当前字母 : y 当前字母 : t 这是 pass 块 当前字母 : h 当前字母 : o 当前字母 : n Good bye!

■第三个实例

arrays = [1,2,3,4,5] print arrays print len(arrays)

#求数组中的和

sum = 0 for i in arrays:     sum = sum + i print sum  #注意空格问题 另一种写法: (人生苦短, 我用python!) arrays = [1,2,3,4,5] print sum(arrays)

#第四个实例  range返回一个序列的数 (前包后不包) ''' java语言: for(int i=0;i<10;i++) {     System.out.println(i); } '''

for i in range(1,10):     print i range 第三个参数是步长 for i in range(1,10,2):     print i

1)计算1-10的整数之和,可以用一个sum变量做累加:

sum = 0 for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:     sum = sum + x print sum  2)如果要计算1-100的整数之和,从1写到100有点困难,幸好Python提供一个range()函数 sum = 0 for x in range(1,11):     sum = sum + x print sum  3)list = range(1,11) print list print type(list)  <type 'list'>

  ■Python 循环嵌套

  Python 语言允许在一个循环体里面嵌入另一个循环。

Python for 循环嵌套语法:

for iterating_var in sequence:    for iterating_var in sequence:       statements(s)    statements(s)

■Python while 循环嵌套语法:

while expression:    while expression:       statement(s)    statement(s)

■Python列表脚本操作符 列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

如下所示:

Python 表达式                    结果                                描述

len([1, 2, 3])                          3                                   长度

[1, 2, 3] + [4, 5, 6]            [1, 2, 3, 4, 5, 6]                  组合

['Hi!'] * 4                        ['Hi!', 'Hi!', 'Hi!', 'Hi!']              重复

3 in [1, 2, 3]                         True                       元素是否存在于列表中

for x in [1, 2, 3]: print x,      1 2 3                                迭代 ———————————————————————————————————————————————————————

■作业: 用for range 循环实现: 输入列数: 5 实心正方形

 *   *   *   *   *  

 *   *   *   *   *  

 *   *   *   *   *  

 *   *   *   *   *  

 *   *   *   *   *  

rows = int(raw_input('输入列数: ')) print "实心正方形" for i in range(0, rows):     for k in range(0, rows):         print " * ", #注意这里的",",一定不能省略,可以起到不换行的作用         k += 1     i += 1     print "\n"

  打印如下图形: * * * * * * * * * * * * * * *

i=1 while i < 8 :     print "*"*i     i+=1

使用嵌套循环打印(2版本)

i = 1 while i<=5:     j = 1     while j<=i:         print "* ",  #2版本         j+=1     print ""     i+=1

使用嵌套循环打印(3版本)

i = 1 while i<=5:     j = 1     while j<=i:         print("* ", end="") #3版本         j+=1     print("")     i+=1

输入列数: 5 等腰直角三角形   *   *   *   *   *  

 *   *   *   *  

 *   *   *  

 *   *  

 *  

rows = int(raw_input('输入列数: ')) i = j = k = 1 #声明变量,i用于控制外层循环(图形行数),j用于控制空格的个数,k用于控制*的个数 print "等腰直角三角形1" for i in range(0, rows):     for k in range(0, rows - i):         print " * ", #注意这里的",",一定不能省略,可以起到不换行的作用         k += 1     i += 1     print "\n"

输入列数: 8 打印空心等边三角形                  

              * 

            *   * 

          *       * 

        *           * 

      *               * 

    *                   * 

  *                       * 

*   *   *   *   *   *   *   * 

#!/usr/bin/python # -*- coding: UTF-8 -*- rows = int(raw_input('输入列数: ')) i = j = k = 1 #声明变量,i用于控制外层循环(图形行数),j用于控制空格的个数,k用于控制*的个数 print "打印空心等边三角形,这里去掉if-else条件判断就是实心的" for i in range(0, rows + 1):  # 变量i控制行数     for j in range(0, rows - i):  # (1,rows-i)         print " ",         j += 1     for k in range(0, 2 * i - 1):  # (1,2*i)         if k == 0 or k == 2 * i - 2 or i == rows:             if i == rows:                 if k % 2 == 0:  # 因为第一个数是从0开始的,所以要是偶数打印*,奇数打印空格                     print "*",                 else:                     print " ",  # 注意这里的",",一定不能省略,可以起到不换行的作用             else:                 print "*",         else:             print " ",         k += 1        print "\n"     i += 1

输入列数: 4 打印实心等边三角形          

      * 

    * * * 

  * * * * * 

*   *   *   * 

#!/usr/bin/python # -*- coding: UTF-8 -*- rows = int(raw_input('输入列数: ')) i = j = k = 1 #声明变量,i用于控制外层循环(图形行数),j用于控制空格的个数,k用于控制*的个数 print "打印空心等边三角形,这里去掉if-else条件判断就是实心的" for i in range(0, rows + 1):  # 变量i控制行数     for j in range(0, rows - i):  # (1,rows-i)         print " ",         j += 1     for k in range(0, 2 * i - 1):  # (1,2*i)             if i == rows:                 if k % 2 == 0:  # 因为第一个数是从0开始的,所以要是偶数打印*,奇数打印空格                     print "*",                 else:                     print " ",  # 注意这里的",",一定不能省略,可以起到不换行的作用             else:                 print "*",             k += 1  #空格     print "\n"     i += 1

 

最新回复(0)