python3基础2

python3基础2


1 数据类型

数值、字符、布尔(True False)

2 集合类型

列表list[]
字典dict{key:value}
元组tuple() 不可更改
集合set{}
元素不可重复 去重

3 变量

用来存储一个反复使用的量

num1 = 10  # 数值
print(type(num1))
num2 = 10.10  # 数值
print(type(num2))
str1 = "123"  # 字符串
print(type(str1))
tag = True   # 布尔
print(type(tag))

4 多变量赋值

可以是相同类型,也可以是不同类型。

n1 = n2 = n3 = 2
print(n1, n2, n3)
n1, n2, n3 = 2, 'hello', True
print(n1, n2, n3)

5 字符

切片规则

与列表list同理

’‘’
-5 -4 -3 -2 -1   <--由右向左
h  e  l  l  o
0  1  2  3  4    -->由左向右
默认切片提取由左向右,左闭右开 [起始,终止) 提取元素
切片[2:5]  输出的是2-4(左闭包括2 右开不包括5[x:y:n] 间隔n取x到y-1元素  
‘’‘

示例

s1 = 'hello'
print(s1[-4])
print(s1[3])
print(s1[1:3])
print(s1[-3:-1])
print(s1[-1:-3])   # 非法 输出为空 不报错
print(s1[1:3:2])
# 提取 ello
print(s1[1:5])  # 右(y)可以超出范围
print(s1[1:])
print(s1[-4:])

逆序

print(s1[::-1])

练习

字符串输出

str1 = "  3546  "  # 长度为8
length = len(str1)
start = 0
end = length-1
for i in range(0, length, 1):
    if str1[i] != ' ':
        start = i
        break
print(str1[start:end+1])

去掉字符串前后的空格

去空格1

str1 = "  abc     "
n = 0
while str1[n] == ' ':
    n += 1
p = n
while str1[p] != ' ':
    p += 1
print(str1[n:p])

去空格2

S1 = ' abc '
while S1[0] == ' ':
    S1 = S1[1:]
while S1[-1] == ' ':
    S1 = S1[0:-1]
print(S1)

去空格3

str1 = input("输入带空格字符串:")
length = 0
r = len(str1)-1
while length <= r and str1[length] == ' ':
    length += 1
while length <= r and str1[r] == ' ':
    r -= length
print(str1[length:r+1])

去空格4 递归函数

def trim(str):
    if str[:1] != " " and str[-1:] != " ":
        return str
    elif str[:1] == " ":
        return trim(str[1:])
    else:
        return trim(str[:-1])


print(trim("   sdfef  "))

6 字符串格式化

name = "xxx"
age = 23
score = 98.76
print("我的名字是" + name)
print("我的名字是", name)     # 用,分割常量或变量之间有空格
print("我的名字是%s,我的年龄是%d" % (name, age))
print("分数是%0.1f" % score)

format方式

print("我的名字是{0},年龄是{1}".format(name, age))

python3.6新增 f-strings

print(f'我的名字:{name}')
print(f'我的名字:{name.upper()}')  # .upper() 字符转换成大写

练习

输出格式

import math
num = input("输入数字:")
if num.isdigit():    # .isdigit()判断是不是数字
    x = math.sqrt(int(num))
    print(str(num)+"数字的平方根是"+str(x))
    print("%d数字的平方根是%.2f" % (int(num), x))
    print("{0}数字的平方根是{1}".format(num, x))
    print(f"{num}数字的平方根是{x}")
else:
    print("输入不合法")
import math
try:
    x = input("请输入数字")
    x = int(x)  # 直接转换类型 不判断
    y = math.sqrt(x)
    print("%f的平方根是%f"%(x,y))
    print("{0}的平方根是{1}".format(x,y))
    print(f"{x}的平方根是{y}")
except ValueError:
    print("输入有误")

练习

摄氏度 华氏度转换 *1.8+32

print("摄氏度转为华氏度请按1:\n华氏度转换为摄氏度请按2:")
i = int(input())
if i == 1:
    t = float(input("请输入摄氏度:"))
    h = t * 1.8 + 32
    print("%.1f摄氏度转化为华氏度为%.1f" % (t, h))
elif i == 2:
    h = float(input("请输入华氏度:"))
    t = (h-32)/ 1.8
    print("%.1f华氏度转化为摄氏度为%.1f" % (h, t))
else:
    print("error")

计算三角形的面积

# 三个格式化输出结果:三条边分别为X,X,面积为X
# 海伦公式
# 已知三角形三边a,b,c,则
# (p=(a+b+c)/2)
# S=sqrt[p(p-a)(p-b)(p-c)]
print("请输入三角形的三条边(用空格分隔):")
a, b, c = map(float, input().split(' '))
p = 1/2*(a+b+c)
s = (p*(p-a)*(p-b)*(p-c))**0.5
print("三角形的面积是%.2f" % s)
print("三角形的面积是{0}".format(s))
print(f"三角形的面积是{s}")

求和 lambda表达式

sum_fun = lambda x, y: x+y
print(f'求和结果{sum_fun(2,3)}')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值