Python Day 7

回顾:

字符串

编码转换

ord(x)

chr(x)

整数转字符串的函数:

hex(i)

oct(i)

bin(i)

字符串的构造(创建)函数

str(x)

int(x)

bool(x)

float(x)

complex(x)

while语句

day06:

for 语句:

for 语句用来遍历(每个对象能够查看并只查看一遍)序列或可迭代对象的每一个元素

可迭代对象是指有多个数据组合在一起的对象

包括:

字符串    str

-------以后后边会学--------

列表      list

元祖      tuple

字典      dict

集合      set

固定集合  frozenset

生成器等

for 的语法

for 变量列表  in 可迭代对象或生成器:

语句1

.....

else:

语句2

.....

示例:

s = 'hello'

for ch in s:

print(ch)

else:

print('对象不能再提供数了,结束')

语法说明:

1.变量依次用可迭代对象的每次给出的元素依次赋值,然后执行语句

2.可迭代对象迭代完所有的元素后,执行else子句部分语句后退出循环

3.else子句部分可以省略(同while语句类似)

4. 语句1的执行次数与可迭代对象的元素个数有关

5.当在循环内部用break终止循环时,else子句部分语句不会执行

for  练习:

任意输入一段字符串:

计算出输入字符'a'的个数,并打印出个数

计算出空格的个数,并打印个数

(不能使用S.count方法)

思考:

用while语句能否实现上述功能

x = input('请输入一段字符:')

i = 0

space = 0

for y in x:

if y == 'a':

i += 1

elif y ==" ":

space += 1

print('输入的a的数量为:',i,'输入空格的数量:',space)

range()函数:

格式

rang(stop)  从零开始,每次生成一个整数后加一操作,直到stop为止(不包含stop)

range(start,stop[,step])从start开始,每次生成一个整数后移动step,直到stop为止(不包含stop,且stop可以是负数)

作用:

用来生成一个可迭代的是、整数序列生成器对象

示例:

range(4)  #生成 0 1 2 3

range(-100)#生成空  因为是从0 开始

range(3,6) #3.4.5

range(1,10,2) #1 3 5 7 9

示例练习:

用for语句打印1-20,打印在1行内

for i in range(1,21):

if i == 20:

print(i)

else:

print(i,end= ' ')

练习:

1.输入一个字符串,从尾向头输出这个字符串的字符

如:

#python3  ....py

请输入:hello

o

l

l

e

h

思考:用while能不能实现?

s = input('请输入字符串:')

for i in range(len(s)-1,-1,-1):

print(s[i])

s = input('请输入字符串:')

for x in s[::-1]:

print(x)

s = input('请输入字符串:')

index = len(s)-1

while index >= 0:

print(s[index])

index = index - 1

练习:

1.计算1+3+5+7+...+99的和

# s = 0

# for y in range(1,100,2):

#    if y < 100:

#        s = s + y

# print(s)

# x = int(input('请输入一个数,来计算该数以内全部数字之和'))

# s = 0

# for y in range(1,x):

#    if y < 100:

#        s = s + y

# print(s)

# x = int(input('请输入一个数,来计算该数以内全部数字之和'))

# s = 0

# for y in range(1,x,2):

#    if y < 100:

#        s = s + y

# print(s)

x = 1

a = 0

while x < 100:

a += x

x += 2

print(a)

for 语句的嵌套

指for语句内含有for语句

例:

for x in 'ABC':

for y in '123':

print(x + y)

for shi in range(1,10):

for ge in range(10):

print(shi * 10 + ge)

内部循环先走,走完在走外边的循环

思考:打印如下矩形

12345

23456

34567

45678

56789

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

#  begin = 1

#  用外重循环来控制打印的行数,同时改变开始值begin

for begin in range(1,n + 1):

# 打印其中一行,begin为行的开始值

for x in range(begin,begin + n):

print(x,end='')

print()

用while语句打印1,3,5,7,...,19

将上题用for语句来实现

a = 1

while a <= 20:

print(a,end=' ')

a += 2

for x in range(1,20,2):

print(x)

continue  语句:

作用:

用于循环语句中(while,for语句)中,不再执行本次循环内chontinue之后的语句,重新开始一次新的循环

例:

for x in range(10):

if x == 3:

continue

print(x)

示例:

打印10 以内的整数:

for x in range(10):

while示例:

x = 0

while x < 10:

if x ==3:

continue

print(x)

x += 1

从新开始之前记得改变循环变量!!!!

示例:

# 打印10以内的偶数:

用while循环跳过奇数实现

x = 1

while x <= 10:

if x % 2 == 1:

x += 1

continue

print(x)

x += 1

continue语句说明

在while语句中执行continue语句,将会直接跳转到while语句的真值表达式处从新开始新的循环

在for语句中执行cintinue语句将会从可迭代对象中取下一个绑定变量后再次进入

循环总结:

while语句

for语句

break语句

continue语句

练习:

用字符串*号打印三角形

要求输入整数,此整数代表三角形的高度

如:   3

*

***

*****

4

*

***

*****

*******

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

h = 1                        # 行数

space = x * 2 + 1            # 空格字符数

while h < x:

star = '*' * (h * 2 - 1)    # 星星数量

S = star.center(space,' ')  # 综合星星空格数量输出一行

print(S)

h += 1                   # 循环进入第二行

输入unicode起始值到变量begin

输入unicode的终止值到变量end

打印这些编码所对应的文字,结果如下:1

请输入起始值:48

请输入终止值:59

十进制编码      十六进制编码    文字

40               0x30      0

49              0x31      1

.......

请输入起始值:20000

请输入终止值:20010

十进制编码      十六进制编码    文字

20000            0x4e20      .。

.......

3.假设用户信息为:

用户名:tarena

密码:  123456

验证码:a1b2

当用户输入任何一项错误的时候就开始让用户从新输入,直到输入正确为止

你可能感兴趣的:(Python Day 7)