python学习——编程基础
2022/2/25 22:27:50
本文主要是介绍python学习——编程基础,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
(一)条件控制
一、if语句
if condition_1: statement_block_1 elif condition_2: statement_block_2 else: statement_block_3
*if语句的关键字为:if – elif – else。
注意:
- 每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
- 使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
- 在Python中没有switch – case语句。
eg1:
#!/usr/bin/python3 age = int(input("请输入你家狗狗的年龄: ")) print("") if age <= 0: print("你是在逗我吧!") elif age == 1: print("相当于 14 岁的人。") elif age == 2: print("相当于 22 岁的人。") elif age > 2: human = 22 + (age -2)*5 print(f"相当于{human}岁的人。")#f-string使用方法 ### 退出提示 input("点击 enter 键退出")
eg2:
#!/usr/bin/python3 # 该实例演示了数字猜谜游戏 number = 7 guess = -1 print("数字猜谜游戏!") while guess != number: guess = int(input("请输入你猜的数字:")) if guess == number: print("恭喜,你猜对了!") elif guess < number: print("猜的数字小了...") elif guess > number: print("猜的数字大了...")
二、if嵌套
在嵌套 if 语句中,可以把 if…elif…else 结构放在另外一个 if…elif…else 结构中。
eg:
num=int(input("请输入一个数字:")) if num%2==0: if num%3==0: print(f"数字{num}可以整除2和3") else: print(f"数字{num}可以整除2但不能整除3") else: if num%3==0: print(f"数字{num}不能整除2但可以整除3") else: print(f"数字{num}既不能整除2也不能整除3")
(二)循环语句
- for
- while
一、while循环
同条件控制一样,需要注意冒号和缩进。另外,在 Python 中没有 do…while 循环。
#计算0到num之和 num=int(input("请输入一个数字")) sum=0 i=1 while(i<=num): sum=sum+i i=i+1 print(f"0到{num}之和等于{sum}")
无限循环:
设置条件表达式永远不为 false 来实现无限循环。
var = 1 while var == 1 : # 表达式永远为 true num = int(input("输入一个数字 :")) print ("你输入的数字是: ", num) print ("Good bye!")
while 循环使用 else 语句
count = 0 while count < 5: print (count, " 小于 5") count = count + 1 else: print (count, " 大于或等于 5")
二、for语句
“Baidu”, “Google”,“Runoob”,"Taobao"依次进入for循环中,当轮到Runoob进入if判断 if site == “Runoob”:时,执行break语句,跳出for循环,完成循环。break 语句用于跳出当前循环体
sites = ["Baidu", "Google","Runoob","Taobao"] for site in sites: if site == "Runoob": print("菜鸟教程!") break print("循环数据 " + site) else: print("没有循环数据!") print("完成循环!")
range()函数:
使用内置range()函数,遍历数字序列。
>>> for i in range(5): ... print(i) ... 0 1 2 3 4 >>> for i in range(5,9): ... print(i) ... 5 6 7 8 >>> for i in range(0,10,3):#3指定不同的增量 ... print(i) ... 0 3 6 9 >>> for i in range(-10,-100,-30): ... print(i) ... -10 -40 -70
结合range()和len()函数遍历一个序列的索引:
a=['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ'] for i in range(len(a)): print(f"{i}-{a[i]}")
(三)迭代器与生成器
一、迭代器
迭代:访问集合元素的一种方式
迭代器:可以记住遍历的位置的对象,迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
迭代器两个基本方法:
1.iter()
2.next()
字符串,列表或元组对象都可用于创建迭代器:
iter__() 方法返回一个特殊的迭代器对象, 这个迭代器对象实现了 next() 方法并通过 StopIteration 异常标识迭代的完成。
class MyNumbers: def __iter__(self): self.a = 1 return self def __next__(self): x = self.a self.a += 1 return x myclass = MyNumbers() myiter = iter(myclass) for x in range(5) : print(next(myiter))
StopIteration
StopIteration 异常用于标识迭代的完成,防止出现无限循环的情况,在 next() 方法中我们可以设置在完成指定循环次数后触发 StopIteration 异常来结束迭代。
在20次迭代后停止循环:
class MyNumbers: def __iter__(self): self.a = 1 #起始数字 return self def __next__(self): if self.a <= 20: #迭代到20停止 x = self.a self.a += 1 return x else: raise StopIteration myclass = MyNumbers() myiter = iter(myclass) for x in myiter: print(x)
二、生成器
生成器:使用了 yield 的函数被称为生成器(generator)。生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。
调用一个生成器函数,返回的是一个迭代器对象。
在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。
斐波那契数列_生成器:
#!/usr/bin/python3 import sys def fibonacci(n): # 生成器函数 - 斐波那契 a, b, counter = 0, 1, 0 while True: if (counter > n): return yield a a, b = b, a + b counter += 1 f = fibonacci(10) # f 是一个迭代器,由生成器返回生成 while True: try: print (next(f), end=" ") except StopIteration: sys.exit()
这篇关于python学习——编程基础的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python