您现在的位置是:首页 > 文章详情

Python程序结构

日期:2018-06-26点击:357

2018年6月27日笔记

python流程控制

1.python流程控制语句结构

4种流程控制语句结构:
if
if -- else
if -- elif --else
if多条件

2.程序结构

3种程序结构:顺序结构、选择结构、循环结构

3.if语句示例

需求:输入学员分数,划分学员等级(90分以上A,80-89为B,60-79为C,60分以下E)

if __name__ == "__main__": x = int(input("请输入学员分数:")) if x>100 or x < 0: print("你输入的数超过实际范围") elif x >= 90: print('A') elif x >= 80: print('B') elif x >= 60: print('C') else: print('E') 

注意:1.python中用elif代替了else if
2.每个条件后面要使用冒号:
3.使用缩进划分语句块,相同缩进数的语句在一起组成一个语句块。
4.在python中没有switch-case语句

4.if语句练习

1.输入一个年份,判断是否为闰年

if __name__ == "__main__": x = int(input("请输入年份:")) if x%400 == 0 or (x%4 == 0 and x%100 != 0): print("此年份是闰年") else: print("此年份不是闰年") 

2.输入一个数字判断是否是水仙花数,水仙花数的定义:一个三位数的个位数的3次方加十位数的3次方加百位数的3次方等于这个数自身,例如153=13+53+3^3,153是水仙花数

if __name__ == "__main__": x = int(input("请输入一个三位数:")) num1 = x//100 num2 = x//10%10 num3 = x%10 if x == num1 ** 3 + num2 ** 3 + num3 ** 3: print("这个数是水仙花数") else: print("这个数不是水仙花数") 

3.实现用户输入用户名和密码,当用户名为 rongda且密码为123时,显示登陆成功,否则登陆失败

if __name__ == "__main__": userName = input("请输入用户名:") password = input("请输入密码:") if userName == 'rongda' and password == '123': print("登录成功") else: print("登录失败") 

下午上课前分享

字符串函数的使用

import string if __name__ == "__main__": print(string.digits) print(string.ascii_letters) print(string.ascii_lowercase) print(string.ascii_uppercase) 

运行上面一段代码的结果如下:

0123456789
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz

ABCDEFGHIJKLMNOPQRSTUVWXYZ

循环结构

1.python循环种类

python中有两个循环,第一种for循环,第二种while循环。他们的相同点在于都能循环做一件重复的事情,不同点在于for循环在可迭代的序列被穷尽时停止,while则是在条件不成立的时候停止。

2.while循环语句

while语句包括两部分,判断语句和执行语句。
判断条件可以是任何表达式,任何非零、或者非空的值均为true。当判断条件为假时,循环结束。
(1)打印出0-9的数字

if __name__ == "__main__": count = 0 while count < 10: print("这个数字是:",count) count += 1 print("输出成功") 

(2)打印出1+2+3+...+100的和

if __name__ == "__main__": a = 1 s = 0 while a <= 100: s += a a += 1 print(s) 

上面一段代码的运行结果是:

5050

用一行代码完成求和功能

print(sum(range(1,101)))

(3)输出1-100以内的所有奇数

if __name__ == "__main__": a = 1 while a <= 100: if a % 2 == 1: print(a) a += 1 

3.for循环语句

python中,for循环可以遍历任何序列的项目,如一个列表或者一个字符串
示例:通过for循环遍历"Hello world!"

if __name__ == "__main__": for every_letter in "Hello_world!": print(every_letter,end=' ') 

上面一段代码的运行结果是

H e l l o _ w o r l d !

for循环作为编程语言中最强力的特性之一,能够帮助我们做出很多重复性的事情。比如批量命名、批量操作等。

4.for循环遍历容器

1.通过for循环遍历列表

if __name__ == '__main__': lt = ['apple','banana','orange'] for i in lt: print(i) 

上面一段代码的运行结果如下:

apple
banana
orange

借助range函数遍历并实现一段代码的相同功能

if __name__ == '__main__': lt = ['apple','banana','orange'] for i in range(len(lt)): print(lt[i]) 

2.通过for循环遍历元组

if __name__ == '__main__': t = ('清华','北大青鸟','蓝翔','新东方') for i in t: print(i) 

上面一段代码的运行结果如下:

清华
北大青鸟
蓝翔
新东方

3.通过for循环遍历字典

if __name__ == '__main__': d = {'python':'perfect','java':'good','php':'just so so'} for k in d: print(k) 

上面一段代码的运行结果为:

python
java
php

4.通过for循环遍历字典

下面一段代码的难点主要是items()方法的利用,它的返回值类型是list,list中的每一个元素类型是tuple。

if __name__ == '__main__': d = {'python':'perfect','java':'good','php':'just so so'} for k, v in d.items(): print(k, v) 

上面一段代码的运行结果如下:

python perfect
java good
php just so so

while练习

我国现有13亿人口,设每年增加0.8%,编写程序,计算多少年后达到26亿?

if __name__ == '__main__': a = 13 count = 0 while a < 26: count += 1 a *= 1 + 0.008 print(count) 

作业

1.求1-100所有数的和

if __name__ == "__main__": a = 1 s = 0 while a <= 100: s += a a += 1 print(s) 

2.输出1-100内的所有奇数

if __name__ == "__main__": a = 1 while a <= 100: if a % 2 == 1: print(a) a += 1 

3.输出1-100内的所有偶数

if __name__ == "__main__": a = 1 while a <= 100: if a % 2 == 0: print(a) a += 1 

4.打印99乘法表(如有需要可以使用制表符'\t')

if __name__ == '__main__': for i in range(1,10): for j in range(1,i+1): print("{}*{}={}".format(i,j,i*j),end='\t') print() 

5.输出10行10列的*

if __name__ == '__main__': for i in range(10): for j in range(10): print('*',end='') print() 

6.打印出100-1000之间所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字

if __name__ == '__main__': for i in range(100,1000): num1 = i//100 num2 = i//10%10 num3 = i%10 if i == num1 ** 3 + num2 ** 3 + num3 **3: print(i) 

7.求1-2+3-4+5-...+99

if __name__ == '__main__': s = 0 for i in range(1,100): s += i * (-1) ** (i+1) print(s) 

8.五位数中,对称的数称为回文数,打印10000-99999的回文数并计算个数。

if __name__ == '__main__': count = 0 for i in range(10000,100000): if str(i)[:-3:-1] == str(i)[:2]: count += 1 print(i,end=' ') if count % 20 == 0: print() print("\n10000-99999之间的回文数个数为:",count) 
原文链接:https://yq.aliyun.com/articles/649249
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章