python允许无止境的循环_ParisGabriel:Python无止境 day07

字符串的格式化表达式:

生成一定格式的字符串

格式字符串中以 % 开头的为占位符,

占位符的位置将参数值替换

语法:

格式字符串 % 参数值

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

占位符和其的类型码:

%s 字符串 使用shr(obj)转为字符串

%r 字符串 使用repr(obj)转为字符串

%c整数转为字符串,使用chr(i)函数

%d10进制整数

%o8进制整数

%x16进制整数(字符a-f)

%X16进制整数(字符A-F)

%e浮点数(e)如 2.9e+10

%E浮点数(E)如2.9E+10

%f %F 浮点数10进制形式

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

%%等同于一个 % 字符

img?u=aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQzMDYxNy8yMDE4MDcvMTQzMDYxNy0yMDE4MDcwNTIyMDQ0NjE3MS03MDU4NjcyNDAucG5n

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

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

-左对齐

+右对齐

0左右空白位置补0

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

精度:保留小数点后多少位,默认6位

"%10d" %123#" 123"

"%+10d"%123#" +123"

"%-10d"%123#"123 "

"%10s"%"abc"#" abc"

"%010d"%123#"0000000123"

"%f"%3.14159625358 # "3.141593"

"%7.2f"%3.14159265358#" 3.14"

循环语句:

while:

根据一定的条件,重复执行一些相同或相似的内容

先判断真值表达式是否成立在执行

执行完内容继续返回真值表达式判断是否成立 直到

真值表达式为false时 判断是否有else有则执行else的内容没有则循环结束

注意事项:

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

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

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

while的嵌套:

while语句和其他语句一样,可以嵌套放入任何复合语句当中

break:

用于循环语句(while、for)中用来终止当前循环(跳出循环)

当break语句执行后此循环以后的语句将不再执行

break终止循环时 else语句块将不再执行

break语句通常和if组合使用

break只能终止当前作用域 如循环嵌套时,不会跳出外循环

break只能在循环语句(while、for)内使用

死循环:

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

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

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

练习:

1.输入一行字符串,将字符串中Unicode编码值最大的一个字符打印出来(不允许用max函数)

提示:while内可以嵌套if

答案:

print("Answer to question 1:", "\n")

s = input("plaese input at will string:")

i = 0

top = s[0]

while i < len(s):

if ord(top) < ord(s[i]):

top = s[i]

i += 1

print("you input string in top1:", top, ord(top))

img?u=aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQzMDYxNy8yMDE4MDcvMTQzMDYxNy0yMDE4MDcwNTIyMzEwNDM1OC0yMTA5MzE1OTU4LnBuZw==

2.打印 从零开始的浮点数,每个数增加0.5,

打印出10以内的这样的数:

0.0

0.5

1.0

0.5

2.0

...

10

答案:

print("Answer to question 2:", "\n")

i = 0

while i < 10:

i += 0.5

print(i)

img?u=aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQzMDYxNy8yMDE4MDcvMTQzMDYxNy0yMDE4MDcwNTIyMzQwMDAyMS0xMjg4ODY2ODEzLnBuZw==

3.打印输出1~20在同一行内  结束后换行

答案:

s = 0

while s < 20:

s += 1

print(s, end = " ")

else:

print()

img?u=aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQzMDYxNy8yMDE4MDcvMTQzMDYxNy0yMDE4MDcwNTIyNDI0MzgyOS0xODc5Mzk0NTYxLnBuZw==

4.打印输出1~20在同一行内  打印10行

i = 0

while i < 10:

s = 0

while s < 20:

s += 1

print(s, end = " ")

else:

print()

i += 1

img?u=aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQzMDYxNy8yMDE4MDcvMTQzMDYxNy0yMDE4MDcwNTIyNTAzNjM0My0xNDc1ODA2MDU0LnBuZw==

5.当输入一些数字,输入负数时结束输入

当完成输入完后,打印输入的数时多少

答案:

s = 0

while True:

a = int(input("plaese input at will integer:"))

s += a

if a < 0:

break

print(s)

img?u=aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQzMDYxNy8yMDE4MDcvMTQzMDYxNy0yMDE4MDcwNTIzMTAwNDcxMC01MjgwMzkxMTYucG5n

6.Sn = 1/2+1/4+1/8....+1/(2**n)

求当n等同于100时Sn的值是多少

答案:

Sn = 1

i = 0

while i < 100:

i += 1

Sn += 1 / 2 ** i

print(Sn)

img?u=aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQzMDYxNy8yMDE4MDcvMTQzMDYxNy0yMDE4MDcwNTIzMTcwMjMxOS0xNjkxMjI1OTc3LnBuZw==

7.输入一个整数打印出矩形 若输入1则输出1个#

例如:

输入1:#

输入2:

##

##

输入6:

######

#        #

#        #

#        #

#        #

#        #

######

答案:

s = int(input("plaese input at will integer:"))

if s > 1:

print("#" * s)

i = 2

while i < s:

i += 1

print("#" + " " * (s - 2) + "#")

print("#" * s)

else:

print("#")

img?u=aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQzMDYxNy8yMDE4MDcvMTQzMDYxNy0yMDE4MDcwNTIzMDQ1Njc2My0xNzAxMTE3ODk3LnBuZw==

8.用while语句实现打印三角形,输入一个整数表示三角形

的宽度和高度,打印出相应的三角形

如:

1)

*

**

***

****

2)

****

***

**

*

3)

*

**

***

****

4)

****

***

**

*

答案:

a = int(input("plaese input at will ingeger:"))

i = 0

b = a

c = a

d = a

while i < a:

i += 1

print("*" * i)

print()

i = 0

while i < d:

print((a - d) * " " + "*" * d)

d -= 1

print()

i = 0

while i < c:

i += 1

print((c - i) * " " + "*" * i)

print()

i = 0

while i < b:

print("*" * b)

b -= 1

img?u=aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQzMDYxNy8yMDE4MDcvMTQzMDYxNy0yMDE4MDcwNTIzNTEzODA0MC0xMjIwNTE3MzA0LnBuZw==

a = int(input("plaese input at will ingeger:"))

i = 0

d = a

while i < a:

while i < d:

print((a - d) * " " + "*" * d)

d -= 1

print("*" * (i + 1))

i += 1

print()

img?u=aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTQzMDYxNy8yMDE4MDcvMTQzMDYxNy0yMDE4MDcwNjAwMjUxMzI3MC0xNDYyODU5OTE1LnBuZw==

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值