python开发 day04

 1、字符串格式表达式

       运算符

        %

       作用:

         生成一定格式的字符串

      语法;

          格式字符串%参数值

          格式字符串%(参数值1,参数值2...

       格式化字符串中的%为占位符,占位符的位置将用参数值替换

     实例: str- fomart.py

     fmt = ‘姓名:_%s_,年龄:_%d_

  

     name = input('请输入姓名: ’)

     age = int(input('请输入年龄:’)

     s = name%s,(name age

   

      格式化字符串中的占位符和类型码

         占位符           意义

           %s          字符串,使用str函数转换

           %r          字符串,使用repr函数转换

           %c          整数转为单个字符

           %d          十进制整数

           %o          八进制整数

           %x          十六进制整数(a-f小写)

           %X          十六进制整数(A-F大写)

           %e          指数形浮点数(e小写)如:2.9e+10

           %f%F      浮点十进制形式

           %g%G      十进制形式浮点数或指数浮点数自动转换

           %%          等同于一个%字符

  

  2、占位符和类型码之间的格式语法

       格式:

         %[-+0 宽度.精度]类型码

         -左对齐(默认是右对齐)

        + 显示正号

         0 左侧空白位置补零

       宽度: 整个数据输入的宽度

      精度; 保留小数点后多少位(默认是6位)

        

         示例

            ‘%10d’ %123 # ‘            123’

            ‘%-10d’%123 # ‘123          ’

              %10s’ %‘abc’ # ‘          abc’

              %05d’ %‘123’ # ‘00123’

            ‘%-+5d’ %‘123’ # ‘+123’

   练习:

           输入三行文字,让这三行文字依次以20个字符串的宽度右对齐

           输出:

           如:

              请输入第一行:hello world      

              请输入第二行:     asd

              请输入第三行:   a

              结果输出:

                hello   world

                          asd

                            a

       答案:

#a = input('请输入第一行文字:')

#b = input('请输入第一行文字:')

#c = input('请输入第一行文字:')

#print ('%20s' %a)

#print ('%20s' %b)

#print ('%20s' %c)

  

   练习:

    写一个程序,定义一个合同的模板:

      《合同》

     甲方:-----------  乙方:  _______

   合同金额:————元

    ....

      日期:________________

    写程序输入相应的参数,打印出完整的合同文本信息:

      如:

         请输入甲方姓名:*****

请输入乙方姓名:*****

请输入合同金额:10000

 请输入年:

   3、循环语句:

       问题:如何回到程序 的前面继续执行可以用循环语句实现

     循环语句有:

       while语句:

        作用:

           根据一定条件,重复的执行一条语句或多条语句

      语法:

         while  真值表达式:

             语句块1

         else

             语句块2

      说明:

            1.先执行真值表达式1,测试布尔值是否为True

            2.如果真值表达式的值为True,则执行语句1,然后再返回到第一步,重复进行检测

            3.如果真值表达式的值为False,则执行else,语句2,然后结束此while语句,如果没有else子句,则直接结束此while语句的执行

           4.else 子句部分可以省略(同if类型)

    示例:

   

   练习:

1.输入一个整数n,打印0~n之间的整数(不包含n),每个数字打印一行

n = int(input('请输入一个整数:'))

i = 0

while i < n:

    print(i)

    i += 1

2.打印1~20的整数,打印在一行内,每一个数字之间 用一个空格分隔开。

    1 2 3 4 5 ...... 18 19 20

     (提示:print (x,end = '')

3.打印1~20的整数,每一行打印5个,打印四行

     如:

       1 2 3 4 5

       6 7 8 9 10

       ....20

(提示:if语句可以嵌入while语句中使用)

4.

5.

   #2

    i = 1

while i <= 20:

    print (i,end=' ')

    i += 1

print('')

   

   #3

i = 1

while i <= 50:

    print(i,end = ' ')

    if i % 5 == 0:

        print('')

    i += 1

print('')

  

  #4

begin = int(input('请输入一个开始的整数:'))

end = int(input('请输入一个结束的整数:'))

i = begin

while i < end:

    print(i,end=' ')

    i += 1

else:

    print()

   #5

begin = int(input('请输入一个开始的整数:'))

end = int(input('请输入一个结束的整数:'))

i = begin

while i < end:

    print(i,end=' ')

    if (i - begin) %5 == 4

    i += 1

else:

    print()

6.while 语句打印10~1的整数

  

i = 11

while i > 1:

    i -= 1

    print(i)

   

7.输入一个开始的浮点数用begin绑定,输入一个结束的浮点数用end绑定,输入每个数的间隔用step来绑定

    如: 请输入开始数:5

         请输入结束数:20

          请输入步数: 3

      打印如下数字(不包含end):

         5 8 11 14 17

8.输入一个字符串,将字符串中Unicode编码值最大的一个字符的编码值和这个字符打印出来

    4while 语句的注意事项:

   1.要控制循环的真值表达式来防止死循环

   2.通常用真值表达式内的循环变量来控制循环条件

   3.通常在循环语句块内改变循环变量来控制循环的次数和变量的走向

     2while 语句嵌套:

       whlie语句本身也是语句,和其它语句一样,可以嵌入if语句和while语句

     示意:

      while 真值表达式:

         ....

         whlie 真值表达式2

           ....

        else

           ....

     else

         ....

练习 :输入一个整数,打印指定宽度的正方形:

   打印结果如下:

   123456

   123456

   123456

   123456

   123456

   123456

n = int(input('请输入一个整数: '))     

line = 1

while line <= n:

    i = 1

    while i <= n:

        print(i,end=' ')

        i += 1

    print()  

    line  += 1

    break 语句

    问题:

     如果在循环过程中我不想在继续此循环语句的执行了,怎么办?

    作用:

     用于循环语句(whilefor语句)中,

     用来终止当前循环语句的执行

   说明:

      1.break语句执行后,此循环语句break之后的语句将不再执行

      2.break 语句通常和if语句组成使用

      3.break

       语句终止循环时,循环语句的else子句的语句不会被执行

     4.beeak 语句只能终止当前循环语句的执行,如果有循环嵌套时,不会跳出嵌套的外重循环

     5.break 语句只能用在循环语句(while for)内部使用

    

  死循环

    死循环是指条件一直成立的循环

    死循环通常用break语句来终止循环

    死循环的else子句永远不会执行

练习:

     1.写程序,求1+2+3+4+99+100的和(建议用循环语句来做)

     2.输入一个整数n,求下列多项式的和sn = 1+1/2+1/4+1/8+...+1/2**n

     3.写程序,输入一个整数n代表直角三角形的宽度,打印出相应的直角三角形。

         如:

            请输入三角形宽度:

                打印如下:

          *

          **

          ***

          ****

    4.修改第3题,打印如下的三角形:

            *

           **

          ***

         ****

    5.修改第3题,打印如下三角形:

        ****

         ***

          **

           *

     6.修改第3题,打印如下三角形:

        ****

        ***

        **

        *

答案:

              #1计算0~100直接的相加求和

a = 0

 #a代表相加的结果

i = 1

 #i代表一个变量

while i <= 100:

    print(i)

#处理计数器

    a += i

#每一次循环都让a 结果和i相加

    i += 1

#处理计数器

print('1~100的数字求和结果: %d' %a)

               #2

#n =int(input('请输入一个整数:'))

#i = 0

#b = 1

#while i < n:

#    i += 1

#    a =1/(2**i)

#    b += a

#print(b)

   #3  #4

n =int(input('请输入三角形的宽度:'))

i = 0

while i < n:

    i = i + 1

    a = i*'*'

    print(a)

n =int(input('请输入三角形的宽度:'))

i = 0

while i < n:

    i = i + 1

    a = (n-i)*' '+i*'*'

print(a)

5.修改第3题,打印如下的三角形:

 ****

  ***

   **

    *

#a=int(input('请输入三角形的宽'))

#b=a

#while 0<b<=a:

#    c=('*'*b)

#    fam='%%%ds' % a

#    b-=1

#    print(fam % c)

6.修改第三题,打印如下三角形:

  ****

  ***

  **

  *

a=int(input('请输入三角形的宽'))

b=1

while b<=a:

    c=('*'*b)

    b+=1

    fam='%%%ds' % a

    print(fam % c)

猜你喜欢

转载自blog.csdn.net/weixin_42312995/article/details/80616658
今日推荐