Python格式化输出、标识符和保留字、关键字、变量的命名规则、以及运算符

  • 格式化输出format的使用
    ''.format() 是 使用{} 去代替传统的%
    格式:<模板字符串>.format(<逗号分隔符的参数>) {} 类似于生活中槽的概念
name = '鲁班七号'
grade = 14
print('当前使用英雄为{},当前等级为{}'.format(grade,name))
  • f-string
    是python3.6中定义的一种参数化字符串的方式,主要目的是让字符串格式化更加便捷
    使用{}标识变量,但是不是使用{}进行站位,而是直接写入变量名
name = '鲁班七号'
grade = 14
print(f'当前英雄为{name},当前等级为{grade}')
  • 练习:
    在控制台依次提示用户输入:姓名、公司、职位、电话、邮箱
gs = input('请输入您的公司名称:')
name =input('请输入您的姓名(职位):')
phone = input('请输入您的电话:')
email = input('请输入您的email:')
print(f'公司名称是{gs}\n名字:{name}\nphone:{phone}\nemail{email}')

标识符和保留字

标识符

标识符就是程序员自己命名的变量名。原则上标识符的命名要有见名知意的效果

  • 标识符可以由字母、下划线组成
  • 不能以数字开头
  • 不能与保留字重复
保留字
  • 关键字就是在 Python 内部已经使用的标识符
  • 关键字具有特殊的功能和含义
  • 开发者不允许定义和关键字相同的名字的标示符
#查看 Python 中的关键字
import keyword
keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break','class','continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if',
'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try','while',
'with', 'yield']
变量的命名规则

规范的命名是为了增加代码的可读性

  1. 下划线命名法 原则:每个单词都要小写,单词之间使用_连接
  2. 驼峰式命名法
    1)小驼峰:小写字母开始,后续单词首字母大写
    2)大驼峰:每个单词首字母都采用大写的方式

运算符

运算符 描述 实例
+ 10 + 20 = 30
- 10 - 20 = -10
* 10 * 20 = 200
/ 10 / 20 = 0.5
// 取整除 返回除法的整数部分(商) 9 // 2 输出结果 4
% 取余数 返回除法的余数 9 % 2 = 1
** 又称次方、乘方,2 ** 3 = 8

算术运算符

运算符 描述
== 检查两个操作数的值是否 相等,如果是,则条件成立,返回 True
!= 检查两个操作数的值是否 不相等,如果是,则条件成立,返回 True
> 检查左操作数的值是否 大于 右操作数的值,如果是,则条件成立,返回 True
< 检查左操作数的值是否 小于 右操作数的值,如果是,则条件成立,返回 True
>= 检查左操作数的值是否 大于或等于 右操作数的值,如果是,则条件成立,返回 True
<= 检查左操作数的值是否 小于或等于 右操作数的值,如果是,则条件成立,返回 True

逻辑运算符

运算符 逻辑表达式 描述
and x and y 只有 x 和 y 的值都为 True,才会返回 True否则只要 x 或者 y 有一个值为 False,就返回 False
or x or y 只要 x 或者 y 有一个值为 True,就返回 True只有 x 和 y 的值都为 False,才会返回 False
not not x 如果 x 为 True,返回 False如果 x 为 False,返回 True

赋值运算符

赋值运算符中间不能使用空格

运算符 描述 实例
= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c = a 等效于 c = c a
/= 除法赋值运算符 c /= a 等效于 c = c / a
//= 取整除赋值运算符 c //= a 等效于 c = c // a
%= 取 模 (余数)赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c = a 等效于 c = c a

运算符的优先级

运算符 描述
** 幂 (最高优先级)
* / % // 乘、除、取余数、取整除
+ - 加法、减法
<= < > >= 比较运算符
== != 等于运算符
= %= /= //= -= += = *= 赋值运算符
not or and 逻辑运算符

条件语句

条件判断语句 Python中任何非0 和非空None的值都为True, 0或者None就为False
if 语句的基本形式:

if 判断条件:
   执行语句...
else:

实例:

result = 59
if result >=60:
    print('及格')
else:
    print('不及格')

#下面这样写同样成立
num = 20
if num :
    print('if执行了')
num = 22
if True:
    print('ifTrue执行了')
chePiao =1 #1代表有车票0代表没有车票
if chePiao ==1:
    print('有车票,可以上火车')
    print('终于可以见到他了,美滋滋···')

else:
    print('没有车票,不可以上车')
cm = input('请输入刀子的长度')
cm = int(cm)
if cm <= 10:
    print('允许上火车')
else:
    print('不允许上火车')

if 语句多个判断的形式

很多编程语言使用switch 去判断多个条件
python 并没有提供switch语句,而是使用elif来代替
格式:

if xxx1:
   事情1
elif xxx2:
  事情2
elif xxx3:
  事情3
else:
  以上都不满足执行的事情

实例:

score =int(input('请输入您的成绩'))
if score >= 90 and score <=100:
    print('您的成绩优秀!!')
elif score>=75 and score < 90:
    print('您的成绩良好!!!')
elif score>=60 and score < 75:
    print('您的成绩及格!!!')
elif score >=0 and score < 60:
    print('您的成绩不及格!!!')
else:
    print('您输入的成绩不合法')
  • 注:注意elif 必须和 if 一起使用 ,否则会出错
    else 可以选择性使用,是以上条件都不满足时要执行的事情

if的嵌套

if 条件1:
    满足条件1执行的事情
    if 条件2:
        满足条件2执行的事情
  • 注:外层的if判断,也可以是if else,内层的if判断, 也可以是if else
    实例1:
checktick = 1#1代表有车票0代表没车票
daolenth = 11#刀子的长度
if checktick ==1:
    print('有车票,可以上火车')
    if daolenth < 10:
        print('通过安检')
        print('终于可以见到他了,美滋滋···')
    else:
        print('没通过安检')
        print('刀子超过规定长度,不想允许ton过')
else:
    print('没有车票,不可以上火车')
    print('下次再见')

实例2:猜拳游戏
要求:
1)在屏幕中输入 剪刀(0),石头(1),布(2)
2)电脑随机生成一个数[0,2]
3)判断玩家和电脑猜拳输赢的情况并且给予显示

from random import randint
generate_num =int(input('请输入猜拳代码:'))
diannao_num = randint(0,2)
if generate_num ==0:
    if diannao_num == 0:
        print('电脑出的是{}'.format(diannao_num),'这把平局',print(diannao_num))
    elif diannao_num ==1:
        print('电脑出的是{}'.format(diannao_num),'您输了!!!')
    elif diannao_num ==2:
        print('电脑出的是{}'.format(diannao_num),'您赢了!!!')
if generate_num ==1:
    if diannao_num == 0:
        print('电脑出的是{}'.format(diannao_num),'您赢了!!!')
    elif diannao_num == 1:
        print('电脑出的是{}'.format(diannao_num),'这把平局')
    elif diannao_num ==2:
        print('电脑出的是{}'.format(diannao_num),'您输了!!!')
if generate_num ==2:
    if diannao_num == 0:
        print('电脑出的是{}'.format(diannao_num),'您输了!!!')
    elif diannao_num == 1:
        print('电脑出的是{}'.format(diannao_num),'您赢了!!!')
    elif diannao_num == 2:
        print('电脑出的是{}'.format(diannao_num),'这把平局')

#改进版
from random import randint
player = int(input('剪刀(0),石头(1),布(2)'))
computer = randint(0,2)
if (player==0 and computer ==2)or(player==1 and computer ==0)or(player ==2 and computer ==1):
    print('赢了')
elif player ==computer:
    print('平局')
else :
    print('你输了')

循环语句

一般编程语言都有循环语句,循环语句允许我们执行一个语句或语句组多次

循环控制语句 描述
break 在语句块执行过程中终止循环,并且跳出整个循环
continue 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环
pass pass 是空语句,是为占位

while循环的格式

while 循环条件:
      循环体

实例1:求1-100之间的累加和

#定义一个循环中自增长的变量
i = 0
#定义一个存储累加和变量
sum_res = 0
while i <= 100:
    sum_res += i
    i += 1    #自增操作
print(sum_res)

实例2:计算1-100之间偶数的累加和

i = 0
sum_res = 0
while i <= 100:
    if i%2 ==0:
        sum_res += i
    i += 1
print(sum_res)

实例3:计算1-100之间奇数的累加和

i = 0
sum_res = 0
while i <= 100:
    if i%2 ==0:
        i += 1
        continue
    sum_res += i
    i += 1
print(sum_res)

while的循环嵌套

要求:
在控制台中输出下面图形

*

**

***

****

*****

#(1)
i = 1
while i <= 5:
    print('*'*i)
    i += 1
#里层循环负责每一行的输出,外层循环负责换行
#(2)
i = 1
while i <=5 :
    j = 1
    while j <= i :
        print('*',end='')
        j += 1
    #外层循环负责换行
    print()
    i += 1
  • 打印九九乘法表
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print('{}x{}={}'.format(i,j,i*j),end=' ')
        j += 1
    print()
    i +=1
  • 在猜拳的游戏基础上,输和平局会一直猜拳,赢了才结束游戏
from random import randint
while True:
    player = int(input('请输入剪刀(0),石头(1),布(2)所对应的数字:'))
    computer = randint(0,2)
    if (player == 0 and computer ==2)or(player==1 and computer == 0)or(player == 2 and computer == 1):
        print('你赢了')
        break
    elif player == computer:
        print('平局,再来一次吧')
        # continue
    else:
        print('你输了,再来一次吧')

for 循环

语法格式 iterable 可迭代的

for iterrable_var in sequence:
    statements(s)

实例1:

#取出字符串
for zifuchuan in '任嘉俊韩蕾吴楠':
    print(zifuchuan, end=' ')

#上面的循环无法进行计数

实例2:

name = '任嘉俊韩蕾吴楠'
i = 0
while i <len(name):
    print(name[i])
    i += 1

实例3:for打印九九乘法表

for i in range(1, 10):
    j = 1
    for j in range(1,i+1):
        print('{}x{}={}'.format(j,i,i*j),end=' ')
        j += 1
    print()
    i += 1

实例4:

猜数字游戏
from random import randint
diannao_num = randint(0, 101)
while True:
    genarate_num = int(input('请输入您猜的数字:'))
    if genarate_num == diannao_num:
        print('您猜对了')
        break
    elif genarate_num > diannao_num:
        print('您猜大了')
    elif genarate_num < diannao_num:
        print('您猜小了')

作业
1.输入n的值,求出n的阶乘

n = int(input('请输入您的值:'))
x = 1
for i in range(1, n+1):
    x *= i
print(x)

2.折纸上月球
大家都看过科幻片《火星救援The Martian》吧,电影里航天员们在太空中碰到各种情况都是靠计算机模拟、计算来解决问题的。
我们在地球上也可以靠高大上的Python语言来解决问题。现在问题来了:我们都知道,月亮在一个椭圆形的轨道上绕地球公转,因此两者的距离是不断变化的,它们的最小距离是363300公里。现在我们都想去月球旅游(地球玩腻了,想换个口味),但是坐火箭上天一次就带辣么几个人,我们等不及。好消息,好消息,厂家现在开发出逆天神技——折纸上月球!
只需一张很大的A4纸,厚度为0.088毫米,折一次就0.176毫米,折两次就0.352毫米……多折几次就很高了。
穿上冲锋衣,拿上登山杖,带上自拍杆,我们爬着就可以上月球发朋友圈了。我就想问一句:要上月球,我们到底需要折多少次?

x = 0
n1 = 0.088
n2 = 363300000000
while True:
    m = n1*(2**x)
    x += 1
    if m >= n2:
        break

print(x)

3.篮球弹跳高度的计算
书呆子就是书呆子,打个篮球脑子也不闲着。这种人说好听的叫‘geek’,说不好听的就是叫‘nerd’。
这不,书呆子看着篮球在想:如果篮球从某一高度落下,每次落地后反弹回原来高度的一半再落下。
那么球在第10次落地时,共经过多少米呢? 第10次反弹多高? (你问我这个题是不是瞎编的?当然是了,你什么时候见过书呆子打篮球?)
输入:输入一个整数h,单位是米,表示球的初始高度。
输出:输出包含两行:
第1行:到球第10次落地时,一共经过的距离。
第2行:第10次弹跳的高度。
例如输入:20 对应输出:第一行:59.921875 第二行:0.01953125

h = int(input('初始高度设定为:'))
s = 0#共经过多少米
x = 0#反弹高度
i = 0#第几次弹射
while i <= 8:
    s += (0.5**i)*h
    i += 1
s = s + h
x = (0.5**(i+1))*h
print('到球第10次落地时,一共经过的距离{}\n第10次弹跳的高度{}'.format(s, x))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351

推荐阅读更多精彩内容