关键字:python 编程
正文 | 内容
01
—
【控制语句】
【源码】
# if-else
'''
实例:已知游乐园的门票原价200元,在端午节对身高不超过1.4米的儿童实际门票半价优惠。
普通游客实际门票9折的优惠价格。请根据身高计算可以节省的金额和实际支付的金额'''
# 票价
price = 200
hg = float(input("请输入身高:"))
# 判断身高小于等于1.4
if hg <= 1.4:
save = price * 0.5
print("身高小于等于1.4米的可优惠价格", save)
# 否则
else:
save = price * (1 - 0.9)
print("身高大于1.4米的普通游客可优惠价格", save)
print("实际支付价格", price - save)
【源码】
# if-elif-else
'''
已知身体质量指数的计算公式为:BMI=体重/身高2次方。其中体重的单位为千克,身高的单位为厘米。BMI<18.5 为“偏瘦”
18.5<=BMI<=24 为“正常”
24<BMI<28 为“偏胖”
28<=BMI 为"肥胖"
请用if-elif-else 编程,通过计算BMI判断学生的胖瘦情况。'''
hg = float(input("请输入学生的身高:"))
wg = float(input("请输入学生的体重:"))
BMI = wg / (hg ** 2) # 注意求幂运算优先于除法运算,所以此外添加括号和不添加括号区别不太。但建议加上括号这样便于阅读
if BMI < 18.5:
print("偏瘦")
elif 18.5 <= BMI <= 24:
print("正常")
elif 24 < BMI < 28:
print("偏胖")
else:
print("肥胖")
print("BMI指数为:",BMI)
02
—
【结束本轮循环】
【源码】
# continue
'''
已知10个学生的成绩,现在要统计分数在80分以上的同学分数的平均分是多少。'''
list1 = [99, 60, 11, 24, 90, 87, 88, 99, 33, 91] #10个同学的分数
sumscore = 0 # 计算80分以上同学的分数总数
i = 0 # 计算80分以上同学的个数
for score in list1:
if score < 80:
continue
else:
sumscore = sumscore + score
i = i + 1
print("80分以上的同学数总分数:", sumscore)
print("80分以上的同学有几个:", i)
print("80分以上的同学分数的平均分:", sumscore / i)
03
—
【列表】
【源码】
# 创建列表
dalaoname = ["马云", "马化腾", "雷军", "丁磊"]
print(dalaoname)
# 创建一个4个空元素的列表,None表示空元素
dalaoname1 = [None] * 4
# 赋值
dalaoname1[0] = "马云小号"
dalaoname1[1] = "马化腾小号"
dalaoname1[2] = "雷军小号"
dalaoname1[3] = "丁磊小号"
print(dalaoname1)
# 创建列表,中国有哪些牛逼的人
name = []
# append函数
name.append("马云")
name.append("马化腾")
name.append("雷军")
name.append("丁磊")
print(name)
# extend 函数
name.extend(["小王", "程序源代码", "小张"]) # 注意添加时是添加的列表对象,不是列表元素,所以一定要用[]括号
print(name)
# insert 函数
name.insert(0, "一个更牛逼的人:程序员") # 在指定的序列位置添加元素
print(name)
print("insert的内容:", name[0])
# 删除列表元素
name.remove("小张") #删除列表中对应“小张”的元素,如果没有这个值怎么处理呢?x not in list
print(name)
del name[0] #删除列表中第一个元素,即位置为0的元素,首个元素
print(name)
name.pop(2) #删除列表中第3个元素,即位置为2的元素
print(name)
name.pop() #删除列表中最后一个元素,默认为空情况下就是最后一个元素
print(name)
04
—
【列表切片操作】
【源码】
# 列表的切片操作
'''
假设快餐店有三类食品,分别为
主食["汉堡","披萨","牛肉卷","鸡肉卷"],小吃["鸡腿","烤翅","鸡排","爆米花"],饮料["可乐","果汁","酸梅汤","奶茶"]。
小明最喜欢吃的食品是主食中:牛肉卷+烤翅+鸡排+可乐"
那怎么操作才能选择出来'''
zhushi = ["汉堡", "披萨", "牛肉卷", "鸡肉卷"] # 主食list
xiaochi = ["鸡腿", "烤翅", "鸡排", "爆米花"] # 小吃list
yinliao = ["可乐", "果汁", "酸梅汤", "奶茶"] # 饮料list
check1 = zhushi[2] # 选择列表中第三个元素,即位置为2个元素
print("小明选择的主食是:", check1)
check2 = xiaochi[1:3:1] # [start是第一个截取的元素,end 是第一个不截取的元素,setp 是截取的步长,为正数时表示从左向右值,为负数时表示从右往左]
print("小明选择的小吃是:", check2)
check3 = yinliao[0]
print("小明选择的饮料是:", check3)
05
—
【元组】
【源码】
# 元组
'''
计算学生各科成绩的总成绩'''
score = (98, 100, 78, 56, 80)#元组,保存5个成绩的分数
total = 0
for i in range(5): #循环5次
total = total + score[i] #scroe[i] 遍历元组
print("总成绩:", total)
#注意元组元素无法添加或者删除其中元素。
06
—
【字典】
【源码】
# 字典
# 定义学生的字典,列表学生喜欢的运动项目
student_sport = {} # 创建一个空的字典
student_sport["小王"] = "足球"
student_sport["小张"] = "蓝球"
student_sport["小李"] = "排球"
student_sport["小周"] = "羽毛球"
print("student_sport:", student_sport)
student_sport1 = {'小王': '足球', '小张': '蓝球', '小李': '排球', '小周': '羽毛球'}
print("student_sport1:", student_sport1)
student_sport2 = student_sport1.copy() # 复制
print(student_sport2)
print(student_sport2.items()) # 以列表返回可遍历的(键, 值) 元组数组
print(student_sport2.values()) # 以列表返回字典中的所有值
print(student_sport2.get("小王")) # .get方法获取对应键的值
07
—
【函数】
【源码】
# 函数
'''
比赛时,假设有10个评委给选手打分,分数采用10分制,
选手得分规则:去掉一个最高分,去掉一个最低分,剩下的分数计算平均分。'''
# 定义一个选手的得分
lists = [9.8, 10.0, 8.1, 8.2, 6.7, 9.2, 9.3, 9.4, 9.9, 7.2]
# 去掉一个最高分
lists.remove(max(lists))
# 去掉一个最低分
lists.remove(min(lists))
print(lists)
# 将剩余的分数相加,然后除以列表的个数
# sum()
# len()
pinjunfen = sum(lists) / len(lists)
# 输出控制台
# print()
print("这个选手最终得分是:", pinjunfen)
【源码】
# 自定义函数
#自定义函数dayin(), 无参数函数
def dayin():
#函数主体
#在屏幕中输出一个由五角星符号组成的等腰三角形
for i in range(5): # 从 0 开始到 4
for j in range(5 - i):
print("", end=" ") #不换行输出空格
for k in range(i + 1):
print("*", end=" ") #不换行输出*
print("")
dayin(); #调用自定义函数-第一次
############################################################
#自定义函数dayin(n), 有参数函数
def dayin(n):
#函数主体
#在屏幕中输出一个由五角星符号组成的等腰三角形
for i in range(5): # 从 0 开始到 4
for j in range(5 - i):
print("", end=" ") #不换行输出空格
for k in range(i + 1):
print("*", end=" ") #不换行输出*
print("")
dayin(2); #调用自定义函数-第一次
【源码】
# 自定义有返回值的函数
'''
求给定的日期是当年的第几天'''
def dated(year, month, day): # 自定义函数
count = 0
if (year % 400 == 0) or (year % 4 == 0 and year % 100 != 0): # 判断是否是闰年
print("%d年是闰年" % year)
# 闰年2月份是29天
list1 = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 12个月每个月的天数
for i in range(month - 1):
count += list1[i]
return count + day
else:
print("%d年是平年" % year)
# 平年2月份是28天
list2 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 12个月每个月的天数
for i in range(month - 1):
count += list2[i]
return count + day
print("给定日期是当年的第%d天" % dated(2016, 6, 5)
08
—
【模块】
【源码】
# time 函数
'''
下面利用time模块编写一个小程序,计算自己已经活了多长时间,以此来帮助大家学习模块的导入和使用方法。'''
import time # 导入time模块
a = time.time() # 获取当前日期的秒数
b = input("请输入你的出生日期,如19840912 :")
# time.strptime 根据指定的格式把一个时间字符串解析为时间元组。相当于格式化时间字符串的方法
# time.mktime 返回用秒数来表示时间的浮点数
c = time.mktime(time.strptime(b, "%Y%m%d")) # 计算出生日期的秒数
x = a - c # 用当前日期的秒数减去出生日期的秒数
m = x / 60 # 转换成分钟
h = x / 3600 # 转换成小时
d = h / 24 # 转换成天数
y = d / 356 # 转换成年数,一年按照356天计算的
print("我已经活了\n", int(x), "秒\n", int(m), "分钟\n", int(h), "小时\n", int(d), "天数\n", int
【源码】
# random 模块
import random
n = random.randint(0, 100) # 随机产生0到100之间
while True:
ni = int(input("输入的随机数字"))
if ni > n:
print("大了")
continue
elif ni < n:
print("小了")
continue
else:
print("猜对了,两个数字相同")
break
【源码】
# 下面以计算圆的周长和面积为例
#该模块提供存取由C标准中定义的数学函数。
import math
# pi常量来获取圆周率π
r = float(input("请输入圆的半径"))
c = 2 * math.pi * r #圆的周长
#pow函数用于返回某个值的几次方,语法格式为pow(x, y),即计算x的y次方
s = math.pi * math.pow(r, 2) #圆的面积
print("圆的周长为:", c)
print("圆的面积为:", s)