python课本.第二章例题

上海交通大学出版社(红灰皮书)

就是为了记录一下,欢迎指正和讨论 

标识符及命名规则

变量与赋值语句

数据的输入与输出

数值

字符串

混合运算类型转换 

'''#例2-1
m = eval(input("请输入一个整数:"))
n = eval(input("请输入一个整数:"))
sum = m + n
avg = sum / 2
print("和为:",sum)
print("平均值为: ",avg)'''

# 例2-2
# m = 2
# type(m)
# m = "你好"
# type(m)

# 例2-4
# x = 100
# print(x)
# m = "I am a girl."
# print(m)

# 例2-5
'''x = y = z = 100
print(x,y,z)
x = x + 100
y = y + 200
print(x,y,z)'''

# 例2-6
# a, b = 100,200
# print(a,b)

# 例2-7 交换变量的值
'''a = 100
b = 200
print(a,b)
a, b = b, a
print(a,b)'''

# 例2-8
# name = input("请输入您的名字:")


# 例2-9
'''m = eval(input("请输入一个数:"))
n = eval(input("请输入一个数:"))
print("m和n的差是:",m - n)'''

# 例2-10
'''print(3+5)
print(3,5)
print()
print("3+5= ",3+5)'''

# 例2-11
# print(3)
# print(4)
# print("3+4=", end="")‘’‘#后面加上end="" 不换行
# print(3+4)‘’‘


# 例2-12
'''run = eval(input("短跑成绩:"))
rope = eval(input("三分钟跳绳成绩:"))
longjump = eval(input("跳远成绩:"))
score = run * 0.4 + rope * 0.3 + longjump * 0.3
print("体育总评成绩:",score)'''

# 例2-14
'''money = eval(input("请输入金额:"))
a50 = money // 50
b = money % 50
c5 = b // 5
d1 = b % 5
print("需要50元钱 张",a50)
print("需要5元钱 张",c5)
print("需要1元钱 张",d1)'''

# 例2-16
'''a = 2
print(a**3)
print(abs(-273))  #绝对值
print(divmod(24,12))  #两个数取整,取余
print(pow(2,3)) #乘方
print(round(3.1415,2))#四舍五入
print(max(23,-34,928,23))  #取最大值
print(min(-29,32,48,-92)) #取最小值'''


# 8
# 273
# (2, 0)
# 8
# 3.14
# 928
# -92
# 例2-27
# ord()求单字符对应的Unicode的编码值
# chr()求Unicode编码值对应的单字符
print(ord('A'),ord('B'),ord('C'),ord('a'),ord('b'),ord('c'),ord('0'),ord('1'),ord('2'),ord('/'),ord('+'),ord(' '),chr(100),chr(101))

# 65 66 67 97 98 99 48 49 50 47 43 32 d e
# 例2-28 -29 -30 -31 -32 -33
# 内置字符串处理方法

# find 查找第一次出现的位置
# rfind 查找最后一次出现的位置
# index 查找第一次出现的位置
# rindex 查找最后一次出现的位置
# count 查找出现的次数
# split 用 字符 从左端分开  可设置最大分隔次数
# rsplit 用 字符 从右端分开  可设置最大分隔次数
# partition 用 字符串 分隔 从左端开始
# rpartition 用 字符串 分隔 从右端开始
s = "bird,fish,monkey,rabbit"
print(s.find('fish'))
# 5

print(s.rfind('b'))
# 20

print(s.find('b'))
# 0


print(s.find('tiger')) #不存在返回-1
# -1

print(s.index('bird'))
# 0

print(s.rindex('i'))
# 21


#print(s.index('tiger')) #不存在报错


print(s.count('bird'))
# 1


print(s.count('b'))
# 3


print(s.count('tiger')) #不存在结果为0
# 0


print(s.split(','))
# ['bird', 'fish', 'monkey', 'rabbit']


print(s.partition('fish'))
# ('bird,', 'fish', ',monkey,rabbit')


print(s.rpartition('fish'))
# ('bird,', 'fish', ',monkey,rabbit')

print(s.partition('tiger')) #分割字符串不存在,返回原串和两个空串
# ('bird,fish,monkey,rabbit', '', '')


str = "南京 上海 天津 杭州 无锡"

print(str.split(maxsplit=2))
# ['南京', '上海', '天津 杭州 无锡']


print(str.rsplit(maxsplit=2))
# ['南京 上海 天津', '杭州', '无锡']


print(str.split())
# ['南京', '上海', '天津', '杭州', '无锡']
# 可以一下输入几个数,但要注意,对应关系,且 要用逗号分开
'''a,b = eval(input())
print(a,",",b)'''

# 例2-34
# join 将列表中的多个字符串连接
li = ['apple','banana','pear','peach']
print( ':'.join(li) )
print( '-'.join(li))

# apple:banana:pear:peach
# apple-banana-pear-peach


# 例2-36
# replace 用指定的 替换 字符串中的,每次只能替换一个
s = "你是我的小呀小苹果"
print(s.replace('小','small'))

# 你是我的small呀small苹果


# 例2-37
# strip 删除两端
# rstrip 删除右端
# lstrip 删除左端


s = "   abc   "
print(s.strip())
print(s.rstrip())
print(s.lstrip())

# abc
#    abc
# abc


x = "===Mike==="
print(x.strip('='))
print(x.rstrip('='))
print(x.lstrip('='))

# Mike
# ===Mike
# Mike===


# 例2-35
# 大小写字符转换
# lower 全转小写
# upper 全转大写
# capitialize 字符串开头首字母转大写,其余都变成小写
# title  每个单词首字母转大写
# swapcase 大小分别转换


s = 'I am a girl.'
print(s.lower())
print(s.upper())
print(s.capitalize())
print(s.title())
print(s.swapcase())

# i am a girl.
# I AM A GIRL.
# I am a girl.
# I Am A Girl.
# i AM A GIRL.



# 例2-38
# 判断是不是以指定的字符开头或结尾
# startwith 开头
# endwith 结尾
s = "Python 程序设计.py"
print(s.startswith('Python'))
print(s.endswith("py"))

# True
# True



# 例2-39
# 判断字符串类型
# islower 是否全小写
# isupper 是否全大写
# isdigit 是否全是数字
# isalnum 是否为数字或字母或汉字
# isalpha 是否全字母和汉字


s = "years"
print(s.islower())

# True


a = "YEARS"
print(a.isupper())

# True


b = "20240319"
print(b.isdigit())

# True


c = "He is 10 years old"
d = c.replace(" ", "")
print(d)

# Heis10yearsold


print(d.isalnum())

# True


print(d.isalpha())

# False


# 例2-40
# 排版方法
# center 居中对齐
# ljust 靠左对齐
# rjust 靠右对齐
# zfill 输出宽度,默认靠右对齐,以0补充


s = "Hello Mike"
print(s.center(30,"="))
print(s.ljust(20,"*"))
print(s.rjust(20,"*"))
print(s.zfill(20))

# ==========Hello Mike==========
# Hello Mike**********
# **********Hello Mike
# 0000000000Hello Mike



# 例2-41 -42 -43
# format()格式化
# print("我是{}班{}号的学生{}".format("大数据2306","27","mzw"))
# print("我是{2}班{1}号的学生{0}".format("mzw",27,"大数据2307"))

# ”{: 填充字符 对齐方式 宽度}“.format

print("{:*^20}".format("Mike"))

# ********Mike********


print("{:=<20}".format("bird"))

# bird================


print("{:$>20}".format("apple"))

# $$$$$$$$$$$$$$$apple


print("{:.2f}".format(3.1415))

# 3.14


print("{:.4f}".format(3.124464))

# 3.1245


print("{:@^20}".format(3.14))

# @@@@@@@@3.14@@@@@@@@


print("{:5d}".format(34)) #整数不允许带精度 没指定填充字符默认空格

# 34


print("{:%>20}".format(45))

# %%%%%%%%%%%%%%%%%%45



# 例2-44
a = 12
print(type(a))

# <class 'int'>


#int和float可以混合运算,且int会自动转为float类型
f = a + 12.0
print(f)

# 24.0


print(type(f))

# <class 'float'>


print(56 + False) # False会转换成0

# 56


print(23 + True) # Ture会转换成1

# 24


# print(23 + '3') # 数值型数据和字符串无法做‘+’运算

# 强制转换

print(int(2.52)) # float转int

# 2


print(float(3)) # int转float

# 3.0


#print(int('abs')) # 字符无法转

# print(float(input("输入圆的半径:")))
# R = float(input("输入圆的半径:"))

# 输入圆的半径:4.2
# 4.2


#将字符型数据转换成数值类型数据
# print(int(input("输入年份:")))
# year = int(input("输入年份:"))

# 输入年份:2024
# 2024



# a, b = eval(input('输入a,b的值:'))
# print("The sum is ",a + b)
# print("The average value is ",(a + b )/2)

# 输入a,b的值:7,8
# The sum is  15
# The average value is  7.5


# m = eval(input("m = "))
# n = eval(input("n = "))

# m = 4
# n = 9

# sum = m + n
# avg = (m + n) / 2
#
# print("The sum is", sum)
# print("The average value is", avg)

# The sum is 13
# The average value is 6.5


m = eval(input('请输入你想知道的月份,我会告诉你这个月份对应的英文前三个字母:'))
months = "JanFebMarAprVayJunJulAugSepOctNovDec"
pos = (m - 1) * 3
print(months[pos:pos + 3])

# 请输入你想知道的月份,我会告诉你这个月份对应的英文前三个字母:7
# Jul
  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值