学习Python第一周的总结

2018-03-03  本文已影响0人  Kyle07

概述

说明:如果我们要在Linux环境下更新到Pyhon 3.X版本需要通过源代码的构件安装。

pip install ipython jupyter

python -m pip install ipython jupyter
"""
第一个Python程序
Version:0.1
Author: Kyle
Date: 2018-03-02
"""
#使用了内置的print函数打印字符.
print("hello world")

变量

特别说明: 在Python在语言层面没有定义常量的语法,但是我们可以通过把变量名用全大写来做隐含提示
全大写的变量要当做常量来看待在代码中不能修改它的值
经验提示: 符号常量总是优于字面常量

常用的部分运算符

描述 运算符
赋值运算符 =
算术运算符 + - * / // % **
关系运算符 == != <= < > >=
逻辑运算符 and or not
身份运算符 is is not

说明:在实际开发中,如果搞不清楚优先级可以使用括号来确保运算的执行顺序

分支结构

提示:在python的逻辑中关键字是可以是可以用作变量名的,但是一旦你用关键字作为了变量名,就会破坏关键字代表的函数或者模块导致该函数或者模块无法使用,所以我们不能用关键字作为变量名。

"""
判断闰年
Version:0.1
Author: Kyle
Date: 2018-03-04
"""
year = int(input('请输入一个年份:'))
if (year % 4 == 0 and yaer % 100 != 0) or year % 400 == 0:#如果搞不清楚优先级可以使用括号来确保运算的执行顺序
    print('%d年是闰年' % year)
else:
   print('%d年不是闰年' % year)  # %d整数占位符
"""
找出三个数中最大的一个数
Version:0.1
Author: Kyle
Date: 2018-03-04
"""
扁平写法
a = int(input())
b = int(input())
c = int(input())
max = a  #假设最大值是a
if b > max:
    max = b
if c > max:
    max = c
print('max = %d' % max)
(嵌套写法)当然根据实际开发的需要,分支结构是可以嵌套的,例如判断是否通关以后还要根据你获得的宝物或者道具的数量对你的表现给出等级(比如点亮两颗或三颗星星),那么我们就需要在if的内部构造出一个新的分支结构,同理elif和else中也可以再构造新的分支,我们称之为嵌套的分支结构,也就是说上面的代码也可以写成下面的样子。
a = int(input())
b = int(input())
c = int(input())
max = a
if b > max:
    max = b
    if c > max:
        max = c
print('max = %d' % max)

说明:扁平写法比嵌套写法更好,因为嵌套结构的嵌套层次多了之后会严重的影响代码的可读性,如果可以使用扁平化的结构就不要去用嵌套。

循环结构

应用场景:在程序中需要重复的执行某条或某些指令的时候。 在Python中构造循环结构有两种做法,一种是for-in循环,一种是while循环。
for in 循环
如果明确的知道循环执行的次数或者是要对一个容器进行迭代(后面会讲到),那么我们推荐使用for-in循环。

'''
假设我有100元,公鸡五元一只,母鸡三元只,小鸡一元三只,100元买100只鸡,请问公鸡母鸡和小鸡各多少只

x + y + z == 100   x是公鸡数量  y是母鸡数量,z是小鸡数量
5 * x + 3 * y + z // 3 == 100
z % 3 == 0

Version:0.1
Author: Kyle
Date: 2018-03-04
穷举法 - 穷尽所有的可能性,直到找到正确答案。
'''
for x in range(21): 
    for y in range(34):
        for z in range(0, 100, 3):#此题的隐含条件是小鸡数量是3的整数倍
            if x + y + z == 100 and 5 * x + 3 * y + z // 3 == 100:
                print(x, y, z)
#减少嵌套的循环,提高效率                
for x in range(21):
    for y in range(34):
        z = 100 - x - y
        if 5 * x + 3 * y + z // 3 == 100 and z % 3 == 0:
            print(x, y, z)

while 循环
如果要构造不知道具体循环次数的循环结构,我们推荐使用while循环,while循环通过一个能够产生或转换出bool值的表达式来控制循环,表达式的值为True循环继续,表达式的值为False循环结束。

"""
猜数字游戏
计算机出一个1~100之间的随机数由人来猜
计算机根据人猜的数字分别给出提示大一点/小一点/猜对了
Version:0.1
Author: Kyle
Date: 2018-03-04
"""
from random import randint
answer = randint(1, 100)
while True:
    number = int(input('请输入: '))
    if number < answer:
        print('大一点')
    elif number > answer:
        print('小一点')
    else:
        print('恭喜你猜对了!')
        break             #break只能终止它所在的那个循环

嵌套循环
和分支结构一样,循环结构也是可以嵌套的,也就是说在循环中还可以构造循环结构。

"""
打印100以内的质数
Version:0.1
Author: Kyle
Date: 2018-03-04
"""
from math import sqrt
for num in range(1,101):
    end = int(sqrt(num))
    is_prime = True
    for x in range(2, end + 1):
        if num % x == 0:
            is_prime = False
            break
    if is_prime and num != 1:
        print('%d是素数' % num, end = ' ')

版权声明:本文为博主原创文章,未经博主允许不得转载。

上一篇 下一篇

猜你喜欢

热点阅读