任务1: 像文件输出’奋斗成就更好的你‘
python# 第一种方式,使用print方式进行输出(输出的目的地址是文件)
fp = open('D:/test.txt', 'w')
print('奋斗成就更好的你', file=fp)
fp.close()
# 第二种方式,使用文件读写操作
with open('D:/test1.txt', 'w') as file:
file.write('奋斗成就更好的你')
任务2: 输出北京天气预报
python# 输出北京的天气预报
print('星期日', '今天')
print('--------------------------------')
print('08时\t', '11时\t', '14时\t', '17时\t', '20时\t', '23时\t')
print('5℃\t\t', '6℃\t', '12℃\t', '8℃\t', '4℃\t', '3℃\t')
print('--------------------------------')
print('明 天 ', '3/12 ', '3℃/14℃')
print('星期一 ', '3/13 ', '0℃/12℃')
print('星期二 ', '3/14 ', '-2℃/8℃')
print('星期三 ', '3/15 ', '1℃/9℃')
print('星期四 ', '3/16 ', '4℃/11℃')
print('星期五 ', '3/17 ', '6℃/14℃')
任务3: 机票购买界面
python# 机票购买界面
print('✈国内\t✈国际/港澳台\t↘发现低价')
print('-------------------------------')
print('航班类型: ⊙单程\t⊙往返\t多程(含缺口程)')
print('出发城市:北京')
print('到大城市:上海')
print('出发日期:2024-3-16')
print('返回日期:yyyy-MM-dd')
print('-------------------------------')
print('\t\t□带儿童\t□带婴儿')
print('\t\t _________')
print('\t\t |__搜索__|')
任务4: 北京地铁1号线运行图
python# 北京地铁1号线运行图
print('地铁1\t\t\t四惠东→苹果园')
print('\t\t首车: 05:05')
print('\t\t末车: 23:30\t\t票价:起步价:2元')
print('-----------------------------------------------------------------------')
print('\t1\t\t 3\t\t 5\t\t 7\t\t 9\t\t 11\t\t 12\t\t 14\t\t 16\t\t 18\t\t 20')
print('\t⇄\t\t ⇄\t\t ⇄\t\t ⇄\t\t ⇄\t\t ⇄\t\t ⇄\t\t ⇄\t\t ⇄\t\t ⇄\t\t ⇄')
print(' 四惠东\t\t大望路\t永安里\t东单\t\t天安门东\t西单\t\t复兴门\t木樨地\t公主坟\t五棵松\t八宝山')
任务1: 输出杨老师出版的图书信息
pythonbook_name = 'Java程序设计教程'
publish = '西安电子科技大学出版社'
pub_date = '2019-02-02'
price = 56.8
print('▶--------------------------------------------◀')
print('▷\t\t《', book_name, '》\t\t◁')
print('▷\t出版社:', publish, '\t◁')
print('▷\t出版时间:', pub_date, '\t\t◁')
print('▷\t定 价:', price, '\t\t\t\t◁')
print('▶--------------------------------------------◀')
任务2: 输出《红楼梦》中的金陵十二钗前五位
python# 第一种方式 变量的赋值
name1 = '林黛玉'
name2 = '薛宝钗'
name3 = '贾元春'
name4 = '贾探春'
name5 = '史湘云'
print('❶\t' + name1)
print('❷\t' + name2)
print('❸\t' + name3)
print('❹\t' + name4)
print('❺\t' + name5)
#第二种方式 列表
lst_name = ['林黛玉','薛宝钗','贾元春','贾探春','史湘云']
print('--------------------------------------')
lst_sig = ['❶', '❷', '❸', '❹', '❺']
for i in range(5):
print(lst_sig[i], lst_name[i])
# 第三种方式 字典
d = {'❶':'林黛玉', '❷':'薛宝钗', '❸':'贾元春', '❹':'贾探春', '❺':'史湘云'}
print('--------------------------------------')
for key in d:
print(key,d[key])
# zip方式
print('zip方式----------------------------------')
for s,name in zip(lst_sig,lst_name):
print(s,name)
任务3: 输出图书音像勋章
python# 输出图书音像勋章,输出结果自定义颜色
print('\033[0;35m\t\t图书音像勋章\033[m')
print('\033[0;35m\t\t-----------------------------\033[m')
print('\033[0;32m\t\t❀图书音像勋章\t\t✪专享活动\033[m')
print('\033[0;34m\t\t❤专属优惠\t\t☎优惠提醒\033[m')
print('\033[0;35m\t\t-----------------------------\033[m')
任务4: 输出你的身体指标
python# 输出你的身体指标
height = 170
weight = 50.5
bmi = weight/(height+weight)
print('您的身高是:' + str(height))
print('您的体重是:' + str(weight))
print('您的BMI的指数是:{:0.2f}'.format(bmi))
任务1: 将指定的十进制数转换成二进制、八进制、十六进制
python# 将指定的十进制数转换成二进制、八进制、十六进制
def fun():
num = int(input('请输入一个十进制的整数')) # 将str类型转为int类型
print(num,'的二进制数为:', bin(num)) # 第一种写法 使用个数可变的位置参数
print(str(num) + '的二进制数为:' + bin(num)) # 第二种写法 使用“+”作为连接符 (+的左右均为str类型)
print('%s的二进制数为:%s' % (num,bin(num))) # 第三种写法 格式化字符串
print('{0}的二进制数为:{1}'.format(num,bin(num))) # 第三种写法 格式化字符串
print(f'{num}的二进制数为:{bin(num)}') # 第三种写法 格式化字符串
print('---------------------------------------')
print(f'{num}的八进制为:{oct(num)}')
print(f'{num}的十六进制为:{hex(num)}')
if __name__ == '__main__':
while True:
try:
fun()
break
except:
print('只能输入整数!程序出错,请重新输入')
任务2: 为自己手机充值
python# 为自己手机充值
print('用户手机账户原有花费金额为:\033[0;35m8元\033[m')
money = int(input('请输入用户充值金额:'))
money+=8
print('当前的余额为:\033[0;35m', money, '元\033[m')
任务3: 计算能量的消耗
python# 计算能量的消耗
num = int(input('请输入您当天行走的步数'))
calorie = num*28
print(f'今天消耗了卡路里{calorie},即{calorie/1000}千卡')
任务4: 预测未来子女的身高
python# 预测未来子女的身高
father_height = float(input('请输入父亲的身高:'))
mother_height = float(input('请输入母亲的身高:'))
son_height = (father_height+mother_height)*0.54
print('预测子女的身高为:{}cm'.format(son_height))
任务1: 支付密码的验证
python# 支付密码的验证
pwd=input('支付宝支付密码')
if pwd.isdigit():
print('支付数据合法')
else:
print('支付数字不合法,支付密码只能是数字')
print('------------------------------------')
print('支付数字合法' if pwd.isdigit() else '支付数字不合法,支付密码只能是数字')
任务2: 模拟QQ账号登陆
python# 模拟QQ账号登录
qq = input('请输入QQ号:')
pwd = input('请输入密码:')
if qq == '123456' and pwd == '123':
print('登录成功')
else:
print('对不起,账号或密码不正确')
任务3: 商品价格大竞猜
python# 商品价格大竞猜
import random
price = random.randint(1000,1500)
print('今日竞猜的商品为小米扫地机器人: 价格在[1000-1500]之间')
guess = int(input())
if guess > price:
print('大了')
elif guess < price:
print('小了')
else:
print('猜对了')
print('真实价格为:', price)
任务4: 根据星座查看运势
python# 商品价格大竞猜
d = {
'白羊座': '今天是你大展拳脚的好日子,勇往直前,一切顺利!',
'金牛座': '今天的财运看好,但要小心花钱过度。',
'双子座': '今天有很多机会可以与朋友互动,但要小心口舌是非。',
'巨蟹座': '今天可能会感到情绪低落,多和家人朋友沟通可以缓解。',
'狮子座': '今天你会收获很多赞美和认可,但别忘了与他人分享成功的喜悦。',
'处女座': '今天的工作可能会有些忙碌,但你的努力会得到回报。',
'天秤座': '今天的心情可能会有些起伏,但保持乐观态度会有助于度过难关。',
'天蝎座': '今天你可能会面临一些挑战,但保持冷静和坚定会帮助你克服困难。',
'射手座': '今天适合出行旅游或者尝试新鲜事物,会有意想不到的收获。',
'摩羯座': '今天的健康运势较好,但要注意饮食和作息规律。',
'水瓶座': '今天的人际关系可能会出现一些波动,但保持真诚和沟通会有助于解决问题。',
'双鱼座': '今天你可能会感到有些迷茫,但不要害怕向他人求助,困难总会过去的。'
}
star = input('请输入您的星座查看近来运势')
print(d.get(star))
任务1: 循环输出26个字母对应的ASCII码值
python# 循环输出26个字母对应的ASCII码值
x = 97 # 代表的是a的ASCII值
for _ in range(1,27):
print(chr(x), '--->', x)
x+=1
print('------------------------------')
x = 97 # 第二种方式
while x<=97+25:
print(chr(x), '--->', x)
x+=1
任务2: 模拟用户登录
python# 模拟用户登录
for i in range(1,4):
user_name = input('请输入用户名:')
user_pwd = input('请输入密码:')
if user_name == 'admin' and user_pwd == '8888':
print('登录成功')
break
else:
print('用户名或密码不正确!!!')
if i<3:
print(f'您还有{3-i}次机会!!!')
else:
print('对不起,三次均输入错误,请联系后台管理员')
任务3: 猜数字游戏
python# 猜数字游戏
import random
rand = random.randint(1,100)
for i in range(1,11):
num = int(input('在我心中有个数1-100,请你猜一猜'))
if num < rand:
print('小了')
elif num > rand:
print('大了')
else:
print('恭喜你猜对了')
break
print(f'您一共猜了{i}次')
if i < 3:
print('真聪明')
elif i <= 7:
print('还凑合')
else:
print('天哪,找老师学习折半算法!!!')
任务4: 计算100-999之间的水仙花数
python# 计算100-999之间的水仙花数
import math
for i in range(100,1000):
if math.pow((i%10),3)+ math.pow((i//10%10),3) + math.pow(i//100,3) == i:
print(i)
任务1: 千年虫 我来了
python# 千年虫 我来了
year = [88,82,98,79,00,93]
print('原列表', year)
for index,value in enumerate(year):
if str(value) != '0':
year[index] = int('19' + str(value))
else:
year[index] = int('200' + str(value))
print('修改之后的列表:', year)
year.sort()
print('排序之后的列表为:', year)
任务2: 京东购物流程
python# 京东购物流程
lst = []
for i in range(0,5):
goods = input('请输入商品编号和商品名称进行商品的入库,每次只能输入一个商品\n')
lst.append(goods)
for item in lst:
print(item)
cart = []
while True:
num = input('请输入要购买的商品编号(输入q退出):')
for item in lst:
if item.find(num) != -1:
cart.append(item)
break
if num == 'q':
break
print('您购物车里已经选好的商品为:')
"""for m in cart:
print(m)"""
for i in range(len(cart)-1,-1,-1):
print(cart[i])
任务1: 根据星座测试性格特点
python# 根据星座测试性格特点
# 创建星座的列表
constellation = ['白羊座', '金牛座', '双子座', '巨蟹座', '狮子座', '处女座', '天秤座', '天蝎座', '射手座', '魔羯座', '水瓶座', '双鱼座']
# 创建性格列表
nature = ['积极乐观', '固执内向', '圆滑世故', '多愁善感', '迷之自信', '精明计较', '犹豫不决', '阴暗消极', '放荡不羁', '务实本分', '作天作地', '安于现状']
# 将两个列表转成集合
d = dict(zip(constellation,nature))
'''for item in d:
print(item, d[item])'''
key = input('请输入您的星座名称:')
flag = True
for item in d:
if key == item:
flag = True
print(key,'的性格特点为:', d.get(key))
break
else:
flag = False
if not flag:
print('对不起,您输入的星座有误')
任务2: 模拟12306火车票订单下单
python# 模拟12306火车票订单下单
dict_ticket = {
'G1569': ['北京南-天津南', '18:05', '18:39', '00:34'],
'G1567': ['北京南-天津南', '18:15', '18:49', '00:34'],
'G8917': ['北京南-天津西', '18:20', '19:19', '00:59'],
'G203': ['北京南-天津南', '18:35', '19:09', '00:34'],
}
print('车次\t\t出发站-到达站\t\t出发时间\t\t到达时间\t\t历时时常')
for item in dict_ticket:
print(item, end='\t')
for i in dict_ticket[item]:
print(i, end='\t\t')
print() # 换行
# 请输入要购买的车次
train_no = input('请输入要购买的车次:')
persons = input('请输入乘车人,如果是多人请使用逗号分隔')
s = f'您已购买了{train_no}次列车\t'
s_info = dict_ticket[train_no] # 获取车次详细信息
s += s_info[0] + '\t' + s_info[1] + ' 开\t'
print(f'{s}请{persons}尽快取走纸质车票。【铁路客服】')
任务1: 我的咖啡馆你做主
python# 我的咖啡馆你做主
coffee_name = ('蓝山', '卡布奇诺', '拿铁', '皇家咖啡', '女王咖啡', '美丽与哀愁')
print('您好!欢迎光临小喵咖啡屋')
print('本店经营的咖啡有:')
for index, item in enumerate(coffee_name):
print(index+1, '.', item, end='\t')
index = int(input('\n请输入您喜欢的咖啡编号:'))
if 0 <= index <= len(coffee_name):
print(f'您的咖啡[{coffee_name[index-1]}]好了,请您慢用')
任务2: 显示2019中超联赛前5名排行
python# 显示2019中超联赛前5名排行
scores = (('广州恒大', 72), ('北京国安', 70), ('上海上港', 66), ('江苏苏宁', 53), ('山东鲁能', 51))
for index, item in enumerate(scores):
print(index+1, '.', end='\t')
for score in item:
print(score, end='\t')
print()
任务3: 模拟手机通讯录
python# 模拟手机通讯录
phones = set()
for i in range(5):
info = input(f'请输入第{i+1}个朋友的姓名和手机号码:')
phones.add(info)
for item in phones: # 遍历通讯录
print(item)
任务1: 统计字符串中出现指定字符的次数
pythondef get_count(s, ch):
count = 0
for item in s:
if ch.upper() == item or ch.lower() == item:
count += 1
return count
if __name__ == '__main__':
s = 'hellopython,hellojava,hellogo'
ch = input('请输入要统计的字符')
count = get_count(s, ch)
print(f'{ch}在{s}中出现的次数为:{count}')
任务2: 格式化输出商品的名称和单价
python# 格式化输出商品的名称和单价
def show(lst):
for item in lst:
for i in item:
print(i, end='\t\t')
print()
lst = [
['01', '电风扇', '美的', 500],
['02', '洗衣机', 'TCL', 500],
['03', '微波炉', '老板', 500]
]
print('编号\t\t名称\t\t\t品牌\t\t单价')
show(lst)
print('------------格式化---------------')
print('编号\t\t\t名称\t\t\t品牌\t\t单价')
for item in lst:
item[0] = '0000' + item[0]
item[3] = '¥{:.2f}'.format(item[3])
show(lst)
任务1: mini计算器
python# mini计算器
def calc(a, b, op):
if op == '+':
return add(a, b)
elif op == '-':
return sub(a, b)
elif op == '*':
return mul(a, b)
elif op == '/':
if b != 0:
return div(a, b)
else:
return '除数不能为0'
def add(a, b):
return a+b
def sub(a, b):
return a-b
def mul(a, b):
return a*b
def div(a, b):
return a/b
if __name__ == '__main__':
a = int(input('请输入第一个整数:'))
b = int(input('请输入第二个整数:'))
op = input('请输入运算符:')
print(calc(a, b, op))
任务2: 猜数游戏
python# 猜数游戏
import random
def guess(num, guess_num):
if num == guess_num:
return 0
elif guess_num > num:
return 1
else:
return -1
num = random.randint(1, 100)
for i in range(10):
guess_num = int(input('我心里有个[1-100]的整数,请你猜一猜:'))
result = guess(num, guess_num)
if result == 0:
print('猜对了')
break
elif result > 0:
print('大了')
else:
print('小了')
else:
print('真笨,10次都没猜中')
任务1: 编写程序输入学员成绩
python# 编写程序输入学员成绩
try:
score = int(input('请输入分数:'))
if 0 <= score <= 100:
print('分数为:', score)
else:
raise Exception('分数不正确') # 手动抛出异常
except Exception as e:
print(e)
任务2: 编写程序,判断三个参数能否构成三角形
python# 判断三个参数能否构成三角形
def is_triangle(a, b, c):
if a < 0 or b < 0 or c < 0:
raise Exception('三条边不能是负数')
if a + b > c and b + c > a and a + c > b:
print(f'三角形的边长为a={a}, b={b}, c={c}')
else:
raise Exception(f'a={a}, b={b}, c={c}, 不能构成三角形')
if __name__ == '__main__':
try:
a = int(input('请输入第一条边'))
b = int(input('请输入第二条边'))
c = int(input('请输入第三条边'))
is_triangle(a, b, c)
except Exception as e:
print(e)
任务1: 定义一个圆的类计算面积和周长
python# 计算面积和周长
import math
class Circle(object):
def __init__(self, r):
self.r=r
def get_area(self):
return math.pi*math.pow(self.r, 2) # 圆的面积
def get_perimeter(self): # 圆的周长
return 2*math.pi*self.r
if __name__ == '__main__':
r = int(input('请输入圆的半径:'))
c = Circle(r)
print(f'圆的面积为:{c.get_area()}')
print(f'圆的周长为:{c.get_perimeter()}')
print('圆的面积为:{:.2f}'.format(c.get_area())) # 输出结果保留2位小数
print('圆的面积为:{:.2f}'.format(c.get_perimeter()))
任务2: 定义学生类录入5个学生信息存储到列表中
pythonclass Student(object):
def __init__(self, stu_name, stu_age, stu_gender, stu_score):
self.stu_name = stu_name
self.stu_age = stu_age
self.stu_gender = stu_gender
self.stu_score = stu_score
def show(self):
print(self.stu_name, self.stu_age, self.stu_gender, self.stu_score)
if __name__ == '__main__':
print('请输入五位学员的信息:(姓名#年龄#性别#成绩)')
lst = []
for i in range(0,5):
s = input(f'请输入第{i+1}位学员的信息和成绩:')
s_lst = s.split('#')
stu = Student(s_lst[0], int(s_lst[1]), s_lst[2], float(s_lst[3])) # 创建学生对象
lst.append(stu)
for item in lst:
item.show()
任务1: 编写程序实现乐手弹奏乐器。乐手可以弹奏不同的乐器从而发出不同的声音。可以弹奏的乐器包括二胡、钢琴和琵琶。
pythonclass Instrument():
def make_sound(self):
pass
class Erhu(Instrument):
def make_sound(self):
print('二胡在演奏')
class Pinao(Instrument):
def make_sound(self):
print('钢琴在演奏')
class Violin(Instrument):
def make_sound(self):
print('小提琴在演奏')
# 演奏的函数
def play(instrument):
instrument.make_sound()
class Bird():
def make_sound(self):
print('小鸟在唱歌')
if __name__ == '__main__':
play(Erhu())
play(Pinao())
play(Violin())
play(Bird())
任务2: 请使用面向对象的思想,设计自定义类,描述出租车和家用轿车的信息。
pythonclass Car(object):
def __init__(self, type, no):
self.type = type
self.no = no
def start(self):
pass
def stop(self):
pass
class Taxi(Car):
def __init__(self, type, no, company):
super().__init__(type, no)
self.company = company
def start(self):
print('乘客您好!')
print(f'我是{self.company}出租车公司的,我的车牌是{self.no},请问你要去哪里?')
def stop(self):
print('目的地到了,请您付款下车,欢迎再次乘坐')
class FamilyCar(Car):
def __init__(self, type, no, name):
super().__init__(type, no)
self.name = name
def stop(self):
print('目的地到了,我们去玩吧')
def start(self):
print(f'我是{self.name},我的汽车我做主')
if __name__ == '__main__':
taxi = Taxi('上海大众', '京A9765', '长城')
taxi.start()
taxi.stop()
print('-'*30)
familycar = FamilyCar('广汽丰田', '京B88888', '武大郎')
familycar.start()
familycar.stop()
任务1: 模拟高铁售票系统
pythonimport prettytable as pt
# 显示坐席
def show_ticket(row_num):
tb = pt.PrettyTable()
tb.field_names = ['行号', '座位1', '座位2', '座位3', '座位4', '座位5']
for i in range(row_num):
lst = [f'第{i+1}行', '有票', '有票', '有票', '有票', '有票']
tb.add_row(lst)
print(tb)
# 订票
def order_ticket(row_num, row, column):
tb = pt.PrettyTable()
tb.field_names = ['行号', '座位1', '座位2', '座位3', '座位4', '座位5']
for i in range(row_num):
if int(row) == i+1:
lst = [f'第{i + 1}行', '有票', '有票', '有票', '有票', '有票']
lst[int(column)] = '已售'
tb.add_row(lst)
else:
lst = [f'第{i + 1}行', '有票', '有票', '有票', '有票', '有票']
tb.add_row(lst)
print(tb)
if __name__ == '__main__':
row_num = 13
show_ticket(row_num)
choose_num = input('请输入选择的座位,如13,5表示13排5号座位')
try:
row, column = choose_num.split(',')
except:
print('输入的格式有误,如13排5号,应该输入13,5')
# order_ticket(row_num, row, column)
order_ticket(row_num, row, column)
任务2: 推算几天后的日期
pythonimport datetime
def inputdate():
indate = input('请输入开始日期:(20200808)后按回车:')
indate = indate.strip()
datestr = indate[0:4] + '-' + indate[4:6] + '-' + indate[6:]
return datetime.datetime.strptime(datestr, '%Y-%m-%d')
if __name__ == '__main__':
print('---------------推算几天后的日期---------------')
sdate = inputdate()
in_num = int(input('请输入间隔天数:'))
fdate = sdate + datetime.timedelta(days=in_num)
print('您推算的日期是:' + str(fdate).split(' ')[0])
任务1: 记录用户登录日志
pythonimport time
def show_info():
print('输入提示数字,执行相应操作: 0.退出 1.查看登录日志')
# 记录日志
def write_logininfo(username):
with open('log.txt', 'a') as file:
s = f'用户名{username},登录时间:{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time()))}'
file.write(s)
file.write('\n')
def read_logininfo():
with open('log.txt', 'r') as file:
while True:
line = file.readline()
if line == '':
break
else:
print(line, end='')
if __name__ == '__main__':
username = input('请输入用户名:')
pwd = input('请输入密码:')
if 'admin' == username and 'admin' == pwd:
print('登录成功!!!')
write_logininfo(username) # 记录日志
show_info() # 提示用户执行什么操作
num = int(input('请输入操作数字'))
while True:
if num == 0:
print('退出成功')
break
elif num == 1:
print('查看登录日志')
read_logininfo() # 读取日期
num = int(input('请输入操作数字:'))
else:
print('您输入的数字有误!!!')
show_info()
num = int(input('请输入操作数字:'))
else:
print('对不起,用户名或密码不正确!!!')
'''print(time.time()) # 秒
print(time.localtime(time.time())) # 将秒转换成 年月日时分秒
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))'''
任务2: 模拟淘宝客服自动回复
reply.txt 文件,自动回复相关话术
reply.txt订单|如果您有任何订单问题,可以登录淘宝账号,点击“我的订单”,查看订单详情 物流|如果您有任何物流问题,可以登录淘宝账号,点击“我的订单”,查看商品物流 账户|如果您有任何账户问题,可以联系淘宝客服,电话: 010-xxxxxxx 支付|如果您有任何支付问题,可以登录联系支付宝客服,QQ: XXXXXXXX
pythondef find_answer(question):
with open('reply.txt', 'r') as file:
while True:
line = file.readline()
if not line: # if line == '' 到文件末尾退出
break
# 字符串的分割
keyword = line.split('|')[0]
reply = line.split('|')[1]
if keyword in question:
return reply
return False
if __name__ == '__main__':
question = input('您好,小蜜在此等主人很久了,有什么烦恼快和小蜜说吧')
while True:
if question == 'bye':
break
# 开始在文件中查找
reply = find_answer(question)
if not reply: # 如果回复的是 False,not False --> True
question = input('小蜜不知道你在说什么,您可以问一些关于订单、物流、账户、支付等问题(退出请输入bye)')
else:
print(reply)
question = input('小主,您还可以继续问一些关于订单、物流、账户、支付等问题(退出请输入bye)')
print('小主再见')
本文作者:柯南
本文链接:
版权声明:©2024 柯南 All rights reserved.