Python编程之print

python2.x和python3.x的print函数区别:python3.x的print函数需要加括号(),python2.x可以不加。

#-*- coding:utf-8 -*-

print("hello world!")   #打印 hello world!

print函数参数:

print(parameter, end=’ ’, seq='\t')      #default end = ‘\n’, 分割符seq

多行输出:'''...'''  或 """..."""

msg = """
name = "car"
color = "red"
type = "T"
"""
print(msg)

高亮输出

格式:\033[显示方式;前景色;背景色 内容      \033[0m

"""
说明:
前景色 背景色 颜色
---------------------------------------
30 40 黑色
31 41 红色
32 42 绿色
33 43 黃色
34 44 蓝色
35 45 紫红色
36 46 青蓝色
37 47 白色
显示方式 意义
-------------------------
0 终端默认设置
1 高亮显示
4 使用下划线
5 闪烁
7 反白显示
8 不可见 例子:
\033[1;31;40m <!--1-高亮显示 31-前景色红色 40-背景色黑色-->
\033[0m <!--采用终端默认设置,即取消颜色设置-->
"""

使用占位符输出

使用占位符表示二进制、八进制、16进制:

print('the length of %s is %d ( %x %o)' %('Hello Python', len("Hello Python"),len("Hello Python"),len("Hello Python")) )
the length of Hello Python is 12 ( c 14)
# %x ---hex %o---oct %d--- dec

使用占位符浮点数、整数:

import math
print('PI = %f (PI = %10.3f,PI = %-10.3f,PI = %06d)' %(math.pi,math.pi,math.pi,math.pi))
PI = 3.141593 (PI = 3.142,PI = 3.142 ,PI = 000003)
#default( width = 10,precise = 3,align = left;align = rigth;width = 6 filled with 0)

通用占位符: %r

print('%r %r %r' % ('python',12,True))
'python' 12 True
#default( width = 10,precise = 3,align = left;align = rigth;width = 6 filled with 0)

实例

name = input("please input your name:")
age = input("please input your age:")
job = input("please input your job:")
salary = input("please input your salary:")
info = '''
----------------info of %s -----------
Name:%s
Age:%s
Job:%s
Salary:%s
''' % (name,name,age,job,salary)
print(info)

使用format格式化输出

format格式化应用:

info2 = '''
----------------info of {_name} -----------
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
'''.format(_name=name,
_age=age,
_job=job,
_salary=salary)
print(info2) info3 = '''
----------------info of {0} -----------
Name:{0}
Age:{1}
Job:{2}
Salary:{3}
'''.format(name,age,job,salary)
print(info3)

  • print()函数可以接受多个变量或常量;

  • 注释

    单行注释: # 被注释内容

    多行注释: """ 被注释内容 """ 或 ''' 被注释内容 '''

  • python中,单引号和双引号没区别,但是在引用是需要匹配,如 "I'm a student";

  • python中,字符串可以使用加号“+”,互联,如"ab" = "a"+"b"


Python编程之变量

变量:存储数据,用于调用数据。

变量实际是内存对象的别名。

申明变量:变量名 = 数据值   (无需申明数据类型,根据初始赋值的数据确定存储类型)

变量定义规则:

  • 变量名只能是 字母、数字或下划线的任意组合

  • 变量名的第一个字符不能是数字

  • 以下关键字不能声明为变量名

    ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

name = "car"
name2 = name
print("now: ",name,name2) # now: car car
name = "bike"
print("after change: ",name,name2) # after change: bike car #开始时,name2 通过 name 指向内存中的“car”,name = "bike" 只是将 name 重新指向内存中的"bike",但是name2的指向不变
#name,name2赋值是对内存对象的引用,id(name),id(name2),id("car")是一样的,相当于name和name2的id等价于内存对象("car")的id。
#name重新赋值后,id等价于"bike"的id,而name2的id不变,所以name2的值不会变。
#想了解更多的赋值情况,请搜索python深浅拷贝

Python编程之input

python3.x中用户输入函数input(),相当于python2.x中的raw_input()函数。

name = input("please input your name:" )

input函数读取用户输入,默认为字符串形式,如果需要整型,则 int( input() ),强制转换为整型;

type函数可以返回变量数据类型,如type(name)。


Python编程之条件判断

if语句的写法:先写if,然后是一个条件,然后是一个冒号,然后是一个语句块。如果条件为True,则语句块中的代码就会被执行;否则程序会前进到if语句后面的语句。

代码缩进:冒号“ : ”后面表示同一代码块,可以按4个空格缩进,或按“ tab ”键缩进,注意空格和“ tab ” 不能混合使用,容易出现缩进错误。

if 语句

grade = input("请输入学生成绩:")
grade = int(grade)
if grade >= 90:
print ("excellent")

if ... else语句

if ... else 条件判断语句,只有一个代码块会被执行。如果条件为真,则执行的是紧挨着条件的代码块;如果条件为假,则执行的是紧挨着else的代码块。

 三元运算:
result = value1 if 条件 else value2
# 如果条件为真,result = value1, 否则 result = value2

else子句的用法:紧挨着if语句代码块的下面,写上else(注意缩进量和对应的if语句一致),然后是一个冒号,再然后是语句块。

score = int(input('input score:\n'))
if score >= 90:
grade = 'A'
else:
grade = 'B'
print ('%d belongs to %s' % (score,grade))

if ... elif ... else...语句

对条件判断可以使用elif子句。

只要某个条件为真,就执行所对应的代码块,然后退出该语句。即不管有多少个条件为真,只有一个代码块会被执行,因为可能存在多个条件同时为真的情况。

if...elif后面可以加else,也可以不加,但是建议使用else来捕获不可能的情况。

#题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;
#利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;
#20万到40万之间时,高于20万元的部分,可提成5%;
#40万到60万之间时高于40万元的部分,可提成3%;
#60万到100万之间时,高于60万元的部分,可提成1.5%,
#高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? I = input('请输入当前利润I:')
I = int(I)
if I <= 10:
print('奖金为:', I*0.1)
elif I <= 20:
print('奖金为:', (I-10)*0.075+1)
elif I <= 40:
print('奖金为:', (I-20)*0.05+1+0.75)
elif I <= 60:
print('奖金为:', (I-40)*0.03+1+0.75+2)
elif I <= 100:
print('奖金为:', (I-60)*0.015+1+0.75+2+0.6)
else:
print('奖金为:', (I-100)*0.01+1+0.75+2+0.6+0.6)

Python编程之for循环

for循环会一个元素一个元素地对序列进行遍历,字符串也是序列。

创建for循环:首先是for,然后是一个用于存放各元素的变量,然后是in,然后是待遍历的序列,然后是一个冒号,最后是循环体

实例

#题目:一个整数,它加上100和加上268后都是一个完全平方数,请问该数是多少?
import math
for n in range(0,10000):
x = int(math.sqrt(n+100))
y = int(math.sqrt(n+268))
if (x*x == n+100) and (y*y == n+268):
print(n)

实例

#题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
import string s = input('input string:')
letters = 0
space = 0
digit = 0
others = 0
for c in s:
if c.isalpha():
letters += 1
elif c.isspace():
space += 1
elif c.isdigit():
digit += 1
else:
others += 1
print ('char = %d,space = %d,digit = %d,others = %d'
% (letters,space,digit,others))

实例

#闰年

L = input("请输入年月日,例如20160902:")
L = str(L)
sum = 0
year = int(L[:4])
L1 = (0,31,59,90,120,151,181,212,243,273,304,334)
for i in range(0,13):
if int(L[4:6]) > i:
sum = L1[i]
else:
sum = sum + int(L[6:8])
break #sum = L1[int(L[4:6])-1] + int(L[6:8]) if year % 400 ==0 or (year % 4 == 0 and year %100 != 0):
print(sum+1)
else:
print(sum)

实例

#题目:输出9*9乘法口诀表。
for i in range(1,10):
for j in range(i,10):
print('%d * %d = %d' %(i,j,i*j))
print(' ')

实例

#题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if i != j and i != k and j!=k:
print(i*100+j*10+k)

跳出for循环时,可以加个else语句,正常跳出循环后执行else后面的代码块;即当循环判断条件不成立时,执行else后面的代码。break跳出不会触发执行else后面的代码。


Python编程之while循环

while条件在某个时候为真时,代码块执行,否则不执行。

#计算等差数列1 4 7 10...前100项的和
x = 1
d = 3
sum = 0
n = 1
while n < 101:
sum = sum + x
x = x + d
n = n + 1
print( sum )

善用死循环,以及break,continue用法

break: 跳出整个循环。

continue: 跳出本次循环,进入下一个循环;即跳回循环的开头。

跳出while循环时,可以加个else语句,正常跳出循环后执行else后面的代码块;即当循环判断条件不成立时,执行else后面的代码。break跳出不会触发执行else后面的代码。

实例

#分解质因数
n = input("请输入数字:")
n = int(n)
print('{} = '.format(n))
k = 2
while True:
if n % k == 0:
n = n // k
print('{} *'.format(k))
else:
k += 1
if n == k:
print('{} *'.format(k))
break

实例

'''题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。
例如6=1+2+3.编程找出1000以内的所有完数。
'''
n = int(input('please input number:'))
m = n
L = [1]
k = 2
while True:
if n % k == 0:
n = n // k
L.append(k)
else:
k = k+1
if n == k:
L.append(k)
break
print(L)
if sum(L) == m:
print('%d is perfest number' %m)
print( '%d = ' %m, end = ' ')
for i in range(0,len(L)-1):
print('%d +' %L[i], end = ' ')
print(L[len(L)-1])

实例

#-*-coding:utf-8 -*-

mark_line = "---------------Welcome to login system--------------"
print(mark_line)
with open("menu.txt", "r", encoding="utf-8") as f_menu: # 从文件读取菜单信息
menu = f_menu.readlines() # 以列表形式保存菜单信息
back_menu = 1 #只用一个循环,使用back_menu来返回上一级目录
while True: #进入菜单循环
if back_menu == 1: #判断正确,进入一级菜单
print(menu[0],menu[1],menu[2]) #打印一级菜单信息
select_menu = input("please input your selection:") #选择一级菜单选项
if select_menu == menu[1][0]: # 匹配正确,设置菜单选项back_menu,进入二级菜单
back_menu = 2
elif select_menu == menu[2][0]: # 一级菜单选项,判断正确,则进入退出判断选项
check_exit = input("Do you want to exit? [y/yes or n/no]") # 用户再次确认是否退出
if check_exit == "y" or check_exit == "yes": # 输入y or yes 退出系统
break
elif check_exit == "n" or check_exit == "no": # 输入n or no 不退出系统
back_menu = 1
else: # 判断是否退出一级菜单时,输入其他键(非y/yes/n/no)不做任何操作
print("your input invalid")
back_menu = 1
else: # 在一级菜单输入其他键(非1,2)不做任何操作
print("your input invalid")
back_menu = 1
elif back_menu == 2: #判断正确进入二级菜单
print(menu[3],menu[4],menu[5]) #打印二级菜单信息
select_menu2 = input("please input your select: ") #选择二级菜单选项
if select_menu2 == menu[4][0]: # 匹配正确,设置菜单选项back_menu,进入三级菜单
back_menu = 3
elif select_menu2 == menu[5][0]: #匹配正确直接返回到一级菜单
back_menu = 1
else: # 在二级菜单输入其他键(非1,2)不做任何操作
print("your input invalid")
back_menu = 2
elif back_menu == 3: #判断正确进入三级菜单
print(menu[6], menu[7],menu[8]) #打印三级菜单信息
select_menu3 = input("please input your select: ")
if select_menu3 == menu[7][0]: #判断正确返回二级菜单
back_menu = 2
elif select_menu3 == menu[8][0]: #判断正确,退出系统; 此设置只是填充三级菜单
break #任意键返回二级菜单
else:
print("your input invalid")
back_menu = 3
print("\n")
print("********test finished***********")
print("退出成功") #退出系统

python修炼之路——控制语句的更多相关文章

  1. Python修炼之路-数据类型

    Python编程之列表 列表是一个使用一对中括号"[   ]" 括起来的有序的集合,可以通过索引访问列表元素,也可以增加和删除元素. 列表的索引:第一个元素索引为0,最后一个元素索 ...

  2. Python修炼之路-异常

    异常处理 在程序出现bug时一般不会将错误信息直接显示给用户,而是可以自定义显示内容或处理. 常见异常 AttributeError # 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性 ...

  3. Python修炼之路-文件操作

    Python编程之文件操作 文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 每次文件打开.读取信息时,Python自动记录所达到的位置,好比一个书签,之后每一次 ...

  4. Python修炼之路-函数

    Python编程之函数 程序的三种方式 面向对象:类------->class 面向过程:过程------>def 函数式编程:函数------>def 定义函数 函数:逻辑结构化与 ...

  5. Python修炼之路-模块

    模块 模块与包 模块:用来从逻辑上组织python代码(可以定义变量.函数.类.逻辑:实现一个功能),本质就是.py结尾的python文件. 例如,文件名:test.py,对应的模块名为:test 包 ...

  6. python修炼之路---面向对象

    面向对象编程 面向对象编程:使用类和对象实现一类功能. 类与对象 类:类就是一个模板,模板里可以包含多个函数,函数里实现一些功能. 对象:是根据模板创建的实例,通过实例对象可以执行类中的函数. 面向对 ...

  7. Python修炼之路-装饰器、生成器、迭代器

    装饰器 本质:是函数,用来装饰其他函数,也就是为其他函数添加附加功能. 使用情景 1.不能修改被装饰的函数的源代码:        2.不能修改被装饰的函数的调用方式. 在这两种条件下,为函数添加附加 ...

  8. Python修炼之路-Socket

    网络编程 socket套接字 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过“套接字”向网络发出请求或者应答网络请求. socket ...

  9. Python学习之路【第一篇】-Python简介和基础入门

    1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...

随机推荐

  1. Linux 常用命令之 mv cp scp

    1.mv 命令是move的缩写,用于文件(或文件夹)移动的. 1)将 luna 目录下的文件 a.txt,移动到 miracle 目录下: mv ./luna/a.txt ./miracle/ 2)将 ...

  2. Spring事务管理配置以及异常处理

    Spring事务管理配置: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...

  3. centos7使用kubeadm安装kubernetes集群

    参考资料:官方文档 一.虚拟机安装 配置说明: windows下使用vbox,centos17.6 min版,kubernetes的版本是1.14.1, 安装如下三台机器: 192.168.56.15 ...

  4. 【HANA系列】SAP HANA跟我学HANA系列之创建属性视图一

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA跟我学HANA系 ...

  5. Unity 相机

    相机属性 1.相机的Clear属性:Skybo背景会渲染天空盒:solid color背景为颜色:depth only仅仅深度,相当于优先级:Don`t Clear背景是上一帧的图像:2.Projec ...

  6. python学习之深浅拷贝

    4.2 深浅拷贝 4.2.1 认识 首先应该知道python中变量在内存中是怎么存放的! 在python中,变量与变量的值占用不同的内存.变量占用的内存,并非直接存储数值,而存储的是值在内存中的地址. ...

  7. QA Issue: PN: startUp is upper case, this can result in unexpected behavior. [uppercase-pn]

    (借用一下) 该错误直接导致生成开机启动程序无法启动,既无法生成S99***快捷链接. 解决方法:仅仅将recpie lib-Test改成lib-test就可以了,即不要有大写字母. 附启动方法: S ...

  8. P3367 【模板】并查集

    喵呜~~(题面) 这题其实很早就过了,但是呢,以前过的时候真的基本上是CtrlC+CtrlV,这次把代码重新码了一遍,对并查集也有了一个基本清晰的认识 #include<iostream> ...

  9. windows OS安全配置【持续更新20190618】

    https://www.52stu.org/?p=76 来源:5号暗区 5号黯区 五号黯区 5号暗区 windows系统的一些加固方法等 关闭445端口: REG ADD HKLM\SYSTEM\Cu ...

  10. djangourl进阶