格式华字符串


语法:


格式化字符串 % 参数值


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




占位符类型码

意义

%s

字符串

%r

字符串,使用repr 而不是str

%c

整数转为单个字符

%d

十进制整数

%o

八进制整数

%x

十六进制整数(字符a-f小写)

%X

十六进制整数(字符A-F大写)

%e

指数型浮点数(e小写),如2.9e+10

%E

指数型浮点数(E大写),如2.9E+10

%f, %F

浮点十进制形式

%g, %G

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

%%

等同于一个%字符



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


格式:


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


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


+:显示正号


0:左侧空白位置补0


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


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



循环语句:


while语句


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


语法:


while 真值表达式:


    语句块1


else:


    语句块2


说明:


  1. 先执行真值表达式1,测试布尔值是否为True
  2. 如果真值表达式的值为True,则执行语句1,然后再返回到第一步,重复进行测试
  3. 如果真值表达式的值为False,则执行else子句中的语句2,然后结束此while语句,如果没有else子句,则直接结束此while语句的执行
  4. else子句部分可以省略

注意事项:


  1. 要控制循环的真值表达式的值来防止死循环
  2. 通常用真值表达式内的循环变量来控制循环条件
  3. 通常在循环语句块内改变循环变量来控制循环的次数和变量的走向

break语句


作用:用于循环语句(while,for语句)中,用来终止当前循环语句的执行


说明:


  1. 当break语句执行后,此循环语句break之后的语句将不再执行
  2. break语句通常和if语句组成使用
  3. break语句终止循环时,循环语句的else子句的语句不会被执行
  4. break语句只能终止当前循环语句的执行,如果有循环嵌套时,不会跳出嵌套的外重循环
  5. break语句只能用在循环语句(while或for)内部使用

死循环


  1. 死循环是指条件一直成立的循环
  2. 死循环通常用break语句来终止循环
  3. 死循环的else语句永远不会执行

以下是练习:

# 练习1
a=input("请输入一行文字:")
b=input("请输入一行文字:")
c=input("请输入一行文字:")
print('''%20s
    %20s
    %20s'''% (a,b,c))
 
# 练习2
def myContract():
    contract='''
            《合同》
        甲方:_%s_  乙方:_%s_
        合同金额:_%d_元
        ......
        日期:_%d_年_%d_月_%d_日
    '''
    jia=input('请输入甲方姓名:')
    yi=input('请输入乙方姓名:')
    price=int(input('请输入金额:'))
    year=int(input('请输入年:'))
    m=int(input('请输入月:'))
    d=int(input('请输入日:'))
    print(acontract % (jia,yi,price,year,m,d))
myContract()

# 练习3
def myInt():
    n=int(input("请输入一个整数:"))
    i=0
    while i<n:
        print(i)
        i+=1
myInt()

# 练习4
i=1
while i<=20:
    print(i,end=' ')
    i+=1
print()

# 练习5
i=1
r=1
# 方法1
while r<=4:
    while i<=(r*5):
        print(i,end=' ')
        i+=1
    print()
    r+=1
# 方法2
while i<=20:
    print(i,end=' ')
    if i%5==0:
        print()
    i+=1
print()

# 练习6
begin=int(input('输入一个开始的整数:'))
end=int(input('输入一个结束的整数:'))
1
while begin<end:
    print(begin,end=' ')
    begin+=1
print()
# 2
# 方法1
r=begin+5
while begin<end:
    while begin<r and begin<end:
        print(begin,end=' ')
        begin+=1
    print()
    r+=5
# 方法2
i=begin
while  i<end:
    print(i,end=' ')
    if(i-begin)%5==4:
        print()
    i+=1
else:
    print()

# 练习7
i=10
while i>0:
    print(i)
    i-=1

# 练习8
begin=float(input('输入一个开始的浮点数:'))
end=float(input('输入一个结束的浮点数:'))
step=float(input('输入每个数的间隔:'))
while begin<end:
    print(begin)
    begin+=step

# 练习9
x=input('请输入一串字符串')
# 方法1
a=max(x)
print(ord(a),a)
# 方法2
i=0
encode_max=ord(x[0])
while i<len(x):
    if ord(x[i])>encode_max:
        encode_max=ord(x[i])
    i+=1
print('编码值最大的是:',encode_max)
print('这个字符是:',chr(encode_max))

# 练习10
x=int(input('输入一个整数:'))
i=0
while i<x:
    j=1
    while j<=x :
        print(j,end=' ')
        j+=1
    print()
    i+=1

# 练习11
i=1
sum=0
while i<=100:
    sum+=i
    i+=1
print('和:',sum)

# 练习12
x=int(input('give me a num...'))
i=0
Sn=0
while i<=x:
    Sn+=1/(2**i)
    i+=1
print(Sn)

# 练习13
n=int(input('输入一个整数:'))
i=1
while i<=n:
    print('*'*i)
    i+=1

# 练习14
n=int(input('输入一个整数:'))
i=1
while i<=n:
    print(' '*(n-i)+'*'*i)
    i+=1

# 练习15
n=int(input('输入一个整数:'))
i=n
while i>0:
    print(' '*(n-i)+'*'*i)
    i-=1

# 练习16
n=int(input('输入一个整数:'))
i=n
while i>0:
    print('*'*i)
    i-=1