“一分钟”学会Python顺序结构和字符串格式化

赋值运算解释
a = 10基本形式
a ,b = 10,20元组赋值,等价于a,b=(10,20),赋值序列解包;a ,b=['a' ,'b']等
a ,b = b,aa,b交换
[a ,b] = [10,20]列表赋值(位置性)
a ,b = 'AB'序列赋值(通用性)
a ,b = [10,20]序列赋值(通用性)
a ,*b = 'hello'扩展的序列解包(python3中特有),b=['e','l','l','o'],b的类型总是列表;b收集后面所有的元素,如果没有元素,则b=[ ]
a = b = c = 10多目标赋值(最好不要这样赋值)
a += 1增强赋值,等价于a=a+1

顺序结构是流程控制中最简单的一种结构。该结构额的特点是按照语句的先后顺序依次执行,每条语句只执行一次。

顺序结构的程序设计方法如下所述:

  1. 根据要解决的问题确定变量的个数;
  2. 如果变量的值需要直接给出,如一个常量,需设计相应的赋值语句;
  3. 如果变量的值需要用户从键盘输入,需设计相应的输入语句;
  4. 如果变量是保存运算的结果,需设计相应的处理语句,如把相应的数学公式转换为Python运算表达式,或编写Python函数调用语句;
  5. 输出相应的信息和结果变量值。

输人三角形3条边的边长(为简单起见,假设这3条边可以构成三角形),计算三角形的面积。提示:三角形面积= Vh(h-a)(h-b)*(h-c),其中,a、b、c是三角形3条边的边长,h是三角形周长的一一半。

import math
a = float(input("请输人三角形的边长a:")) 			#提示用户并输入a
b = float(input("请输人三角形的边长b:"))
c = float(input("请输人三角形的边长c:"))
h=(a+b+c)/2         											#三角形周长的一半
area = math. sqrt(h* (h-a) *(h-b)* (h-c));		     #三角形面积
print(str. format("三角形三边分别为:a= {0},b= ({1},c={2}", a, b, c))
print(str. format("三角形的面积= {0}", area))

​---------------------------------打印结果
请输人三角形的边长a:3
请输人三角形的边长b:4
请输人三角形的边长c:5
三角形三边分别为:a= 3.0,b= (4.0,c=5.0
三角形的面积= 6.0


import math      													 #导入math数学函数库
r = input("请输入您计算机的半径(保留两位小数):")    # 使用input()函数获取到用户输入的参数
r = float(r)     															 #将用户输入的参数转换成浮点数
pi = math.pi   														 #使用math.pi定义圆周率
c = 2 * pi * r   														 #使用周长公式计算圆的周长
s = pi * r ** 2   														 #使用面积公式计算圆的面积,pow(r,2)
print ("该圆的周长为{:.2f},该圆的面积为{:.2f}".format(c,s))  #使用Print方法输出圆的周长和面积

#第二章实验作业计算扔铅球的成绩
import math
h = float(input("enter 身高:"))
x = float(input("enter 弧度:"))
s = h/math.tan(x)     #正切tan(θ)=y/x
print("距离s等于{:.3f}".format(s))
  1. python赋值语句
  2. Python流程控制结构主要分为3种:顺序结构、选择结构和循环结构
  3. 顺序结构示例:
    • 变量
      程序中的a,b,c就是变量,Python中的变量有若干中类型,这里我们可以简单理解成变量是一种存储数据的容器,程序中的“a = float(input("xxx"))”,就是将“=”号后面的返回的数据,也就是用户输入的数据,经过float函数转换后存储到变量a中。在后续的文章中,会对变量的各种类型进行详细的讲解。
    • 函数
      我们可能很好奇,程序中的int(input("xxx"))是干什么的,其实,这是两个函数的嵌套。
      那么什么是函数呢?
      我们可以将数学中的函数做类比,例如数学中的f(x) = 2x + 1,我们给定一个参数x,函数f(x)就会根据其已经定义好的运算规则,计算出相应的结果。
      类似地,Python中的函数也可以传进参数,执行其已经定义好的流程,返回结果。
      这里代码中用到了3个函数:int()、input()、print(),他们各自有各自的功能。int()将传入的一个参数转化成整数并返回;input()可以输出提示文字,并接收用户输入的信息并以字符串的形式返回(字符串是变量的一种类型);print()可以将想输出的信息输出到控制台...
      后续会对函数进行详细的讲解。
    • 运算符
      Python中可以使用各类运算符,在这里的“+”号就是一个,它的功能是将其两侧的变量相加,得到结果,不同的变量类型进行相加所得到的结果不同。这里的“=”号也是一种运算符,其作用是将其右侧的数据赋值给其左侧,也就是说数据的流向是从右向左流的,即a + b = c这种用法是不合法的。后续也会对运算符进行详细的讲解。
    • 注释
      在编辑框中输入井号“#”,在同一行“#”号后面输入想解释的内容,这就是程序的注释。
      解释器在解释每一行代码的时候,会把注释自动忽略,只解释“#”号之前的代码。适当的注释有助于帮助程序员读懂代码。
      值得注意的是,解释器只认为“#”号同一行后面的文字为注释,而并非“#”号后面的所有文字或者代码。也就是说下面的代码中,程序只认为“#”号后的第一行是注释,而第二行不是。

  4. 用户输入圆的半径,求圆的周长和圆的面积
  5. 第二章实验作业计算扔铅球的成绩
字符串格式化

用法:" %说明符 %说明" % (参数1,参数2,......)

转换说明符说明
%带百分号输出,不能用在格式化运算符 %中
%b转换为带符号的二进制形式的字符串,不能用在格式化运算符 %中
%i转换为带符号的十进制形式的整数,不能用在format中
%d转换为带符号的十进制形式的字符串
%o转换为带符号的八进制形式的字符串
%x,%X转换为带符号的十六进制形式的字符串
%e转化为科学计数法表示的浮点数(e 小写)
%E转化为科学计数法表示的浮点数(E 大写)
%f,%F转化为十进制形式的浮点数
%g智能选择使用 %f 或 %e 格式
%G智能选择使用 %F 或 %E 格式
%c输出整数对应的 Unicode 字符
%r使用 repr() 将变量或表达式转换为字符串
%s使用 str() 将变量或表达式转换为字符串
Python 支持的标志
标志说明
-指定左对齐
+表示输出的数字总要带着符号;整数带+,负数带-
0表示宽度不足时补充 0,而不是补充空格。
m.n.m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
#在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')

事例代码如下:

print("my name is %s and i am %d years old" %("xiaoming",18))
#输出结果:my  name is xiaoming and i am 18 years old
print("Hello,%s" % "Tom")
#输出结果:Hello,Tom

# %d digit 数字
age = 18
print('年龄是:%d' % age)  

age=18.5  # int(18.5)--->18 取整数
print('年龄是:%d' % age) 

year=2019
print('今年是:%02d' % year) # 仍然是2019 但是%f就可设置位数

name = "C语言中文网"
age = 8
url = "http://c.biancheng.net/"
print("%s已经%d岁了,它的网址是%s。" % (name, age, url))

#指定小数精度
f = 3.141592653
# 最小宽度为8,小数点后保留3位
print("%8.3f" % f)
# 最小宽度为8,小数点后保留3位,左边补0
print("%08.3f" % f)
# 最小宽度为8,小数点后保留3位,左边补0,带符号
print("%+08.3f" % f)

print('%#x' % 108)  #0x6c  十进制108,十六进制等于6c,int('6c',base=16)

1)、使用格式:

<模板字符串中包括{<参数序号>: <格式控制标记>}>.format(<逗号分隔的参数>)

2)、<格式控制标记>用来控制参数显示时的格式,包括:<填充><对齐><宽度>,<.精度><类型>6 个字段,如下图:

3)、参数序号从0 开始编号。format 函数可以接受不限个参数,位置可以不按顺序。

如:"{1} {0} {1}".format("hello", "world") 输出结果为“'world hello world”。

4)、format()方法优点如下:

数字格式输出描述
3.1415926{:.2f}3.14保留小数点后两位
3.1415926{:+.2f}+3.14带符号保留小数点后两位
-1{:+.2f}-1.00带符号保留小数点后两位
2.71828{:.0f}3不带小数
5{:0>2d}05数字补零 (填充左边, 宽度为2)
5{:x<4d}5xxx数字补x (填充右边, 宽度为4)
10{:x<4d}10xx数字补x (填充右边, 宽度为4)
1000000{:,}1,000,000以逗号分隔的数字格式
0.25{:.2%}25.00%百分比格式
1000000000{:.2e}1.00e+09指数记法
13{:10d}        13右对齐 (默认, 宽度为10)
13{:<10d}13左对齐 (宽度为10)
13{:^10d}    13中间对齐 (宽度为10)
11
'{:b}'.format(11)
'{:d}'.format(11)
'{:o}'.format(11)
'{:x}'.format(11)
'{:#x}'.format(11)
'{:#X}'.format(11)
1011
11
13
b
0xb
0XB
进制

字符串函数format函数事例代码如下:

>>> "{0} {1}".format("hello", "world")  # 设置指定位置
#'hello world'
 
>>> "{1} {0} {1}".format("hello", "world")  # 设置指定位置
#'world hello world'

>>> print("{:.2f}".format(3.1415926));
#3.14

print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))
 
# 通过字典设置参数
site = {"name": "菜鸟教程", "url": "www.runoob.com"}
print("网站名:{name}, 地址 {url}".format(**site))
 
# 通过列表索引设置参数
my_list = ['菜鸟教程', 'www.runoob.com']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list))  # "0" 是必须的

#列表
>>>list=['罗带同心结未成','江头潮已平']
>>>"{0[0]}".format(list)
'罗带同心结未成'
>>> print("这是一句诗:{0[0]}".format(list))
这是一句诗:罗带同心结未成

#通过字典
>>> di={"学校":"某某大学","姓名":"我爱学习"}
>>> "地点:{学校},姓名:{姓名}".format(**di)
'地点:某某大学,姓名:我爱学习'

f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化方法,主要目的是使格式化字符串的操作更加简便。f-string在形式上是以 f 或 F 修饰符引领的字符串(f'xxx' 或 F'xxx'),以大括号 {} 标明被替换的字段;f-string在本质上并不是字符串常量,而是一个在运行时运算求值的表达式:
f-string 格式化 就是在字符串模板前面加上f,然后占位符使用{} ,里面直接放入对应的数据对象。

salary = input('请输入薪资:')
# 计算出缴税额,存入变量tax
tax = int(salary) *25/100
# 计算出税后工资,存入变量aftertax
aftertax = int(salary) *75/100
print(f'税前薪资是:{salary}元, 缴税:{tax}元, 税后薪资是:{aftertax}元')
  1. (了解) 旧式字符串格式化(% 运算符)
  2. 新式字符串格式化(str.format)
    • 不需要关注数据类型,而在%方法中%s只能替代字符串类型
    • 单个参数可以多次输出,参数顺序可以不相同
    • 填充方式十分灵活,对齐方式十分强大
    • 官方推荐用的方式,%方式将会在后面的版本被淘汰
  3. f-string格式化
  4. f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化方法,主要目的是使格式化字符串的操作更加简便。f-string在形式上是以 f 或 F 修饰符引领的字符串(f'xxx' 或 F'xxx'),以大括号 {} 标明被替换的字段;f-string在本质上并不是字符串常量,而是一个在运行时运算求值的表达式:f-string 格式化 就是在字符串模板前面加上f,然后占位符使用{} ,里面直接放入对应的数据对象。
  5. salary = input('请输入薪资:')
    # 计算出缴税额,存入变量tax
    tax = int(salary) *25/100
    # 计算出税后工资,存入变量aftertax
    aftertax = int(salary) *75/100
    print(f'税前薪资是:{salary}元, 缴税:{tax}元, 税后薪资是:{aftertax}元')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值