目录
一、编程第一步——斐波那契数列
二、条件控制
(一)if/else语句
判断狗狗的年龄:
(二)多层if/else嵌套
判断数字能否被2或3整除:
(三)match...case匹配——python3中新增
根据数字判断星期:
三、循环语句
(一)while循环
1.循环+2:
2.while计算1~100的和:
3.无限循环:
4.while...else循环:
5.猜数字游戏:
6.判断狗狗年龄代码优化:
(二)for循环
1.for循环遍历列表:
2.for循环遍历字符串:
3.遍历[1,10):
4.打印5个星星:
5.打印5行5列星星 :
(三)for...else循环
(四)range()函数
1.左闭右开区间:
2.设置区间步长:
3.结合 range() 和 len() 函数以遍历一个序列的索引:
(五)break和continue
1.break终止循环:
2.continue遇到条件跳过:
(六)pass语句
pass使用案例:
四、迭代器
代码示例:
a = 0
b = 1
while b < 10:print(b, end=',')a, b = b, a + b
运行结果:
if 条件1:
运行结果1
elif 条件2:
运行结果2
else:
运行结果3
age = int(input('请输入狗狗的年龄:'))
if age <= 0:print('输入错误!')
elif age == 1:print('相当于14岁的人')
elif age == 2:print('相当于22岁的人')
elif age > 2:human = 22 + (age - 2) * 5print('对应人类的年龄为:', human)
运行结果:
num = int(input('请输入一个整数:'))
if num % 2 == 0:if num % 3 == 0:print('数字既能被2整除,也能被3整除')else:print('数字能被2整除,但是不能被3整除')
else:if num % 3 == 0:print('数字能被3整除,但是不能被2整除')else:print('数字不能被2和3整除')
num = int(input('请输入1~7之间的整数:'))
match num:case 1:print('星期一')case 2:print('星期二')case 3:print('星期三')case 4:print('星期四')case 5:print('星期五')case 6:print('星期六')case _:print('星期日')
case _: 类似于 C 和 Java 中的 default:,当其他 case 都无法匹配时,匹配这条,保证永远会匹配成功。
在 Python 中没有 do..while 循环
num = int(input('请输入一个数字:'))
while num < 20:print(num, end=',')num += 2
num = 0
counter = 1
while counter <= 100:num = num + countercounter += 1
print('1~100之间的和为:%d' % num) # 1~100之间的和为:5050
num = 1
while num == 1:count = int(input('请输入一个数字:'))print('数字为', count)
count = 1
while count <= 10:print('count的值为:', count)count += 1
else:print('count超出范围!')
num = 12
guessnum = -1
print('数字猜谜游戏:')
while guessnum != num:guessnum = int(input('请输入猜测的数字:'))if guessnum > num:print('猜大了!')elif guessnum < num:print('猜小了!')else:print('猜对了!')
dogAge = 16
age = -1
while age <= dogAge:age = int(input('请输入狗狗的年龄(<=16):'))if age <= 0:print('输入错误!')elif age == 1:print('相当于14岁的人')elif age == 2:print('相当于22岁的人')elif 2 < age <= 16:human = 22 + (age - 2) * 5print('对应人类的年龄为:', human)else:print('年龄超过狗狗寿命范围!')
for <变量> in <序列>:
<代码段>
else:
<代码段>
# for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
sites = ['java', 'mysql', 'oracle', 'hadoop']
for tup in sites:print(tup, end=',')
运行结果:
string = 'hello'
for i in string:print(i)
运行结果:
for i in range(1, 10):print(i, end='\t')
运行结果:
for i in range(5):print('*')
运行结果:
for i in range(5):print('*'*5)
运行结果:
for i in range(5):print('*'*5)
else:print('打印完毕!')
在之前的代码中已经有部分range()函数的功能实现,range()函数还有其他的功能
for i in range(5, 10):print(i)
运行结果:
for i in range(1, 10, 2):print(i)
运行结果:
for i in range(-1, -15, -3):print(i)
运行结果:
sites = ['java', 'mysql', 'oracle', 'hadoop']
for i in range(len(sites)):print(i, sites[i])
运行结果:
break 语句可以跳出 for 和 while 的循环体。如果从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
num = 10
while num > 1:num -= 1if num % 2 == 0:breakprint(num)
运行结果:
判断1~100以内的质数:
for i in range(1, 101):for x in range(2, i):if i % x == 0:breakelse:print(i, end=',')
运行结果:
num = 10
while num > 1:num -= 1if num % 2 == 0:continueprint(num)
运行结果:
pass是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句,相当于输出程序中continue的结果
for i in 'ncidsijvb':if i == 'i':passprint('执行pass')print(i)
运行结果:
迭代是Python最强大的功能之一,是访问集合元素的一种方式。
迭代器是一个可以记住遍历的位置的对象。
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
迭代器有两个基本的方法:iter() 和 next()。
字符串,列表或元组对象都可用于创建迭代器
下面代码的运行结果一样:
sites = [1, 2, 3, 4]
for i in sites:print(i)
#####################################sites = [1, 2, 3, 4]
it = iter(sites)
for i in it:print(i)#####################################import syssites = [1, 2, 3, 4]
it = iter(sites)
while True:try:print(next(it))except StopIteration:sys.exit()
运行结果: