第一题:
输出99乘法表
for one in range(1,10):
for i in range(1,one+1):
print('{}*{}={}'.format(i,one, one*i),end=' ')
print('')
第二题:
冒泡排序
a=[2,4,1,6,43,674,23,56,98]
for i in range(1,len(a)):
for j in range(0,len(a)-1):
if a[j]>a[j+1]:
a[j],a[j+1]=a[j+1],a[j]
print(a)
第三题:
自动贩卖机:只接受1元、5元、10元的纸币或者硬币,可以1块、5元 、 10元。最多不超过10元
饮料只有橙汁,椰汁,矿泉水,早餐奶售价分别是3.5, 4, 2, 4.5
写一个函数用来表示贩卖机的功能:用户投钱和选择饮料,并通过判断之后该用户吐出饮料和找零
drinks={'1': 3.5,
'2': 4,
'3': 2,
'4': 4.5
}
total=0
while True:
choose=input('请选择您需要的饮料:1:橙汁, 2:椰汁, 3:矿泉水, 4:早餐奶, q:退出')
if choose in drinks.keys():
total=total+drinks[choose]
elif choose == 'q':
print('退出选择饮料')
break
else:
print('没有您需要的饮料,请重新选择')
toubi=0
while True:
money = input('请投币1, 5, 10元面值的纸币或者硬币 ,按q退出')
if money== '1' or money== '5' or money== '10':
toubi=toubi+int(money)
if toubi > total:
print('您购买了{}钱的饮料,投币{}元,找零{}元,请拿走零钱跟饮料'.format(total,toubi,toubi-total))
break
elif toubi<total:
print('您购买了{}钱的饮料,投币{}元,还需支付{}元'.format(total, toubi, total-toubi))
else:
print('您购买了{}钱的饮料,投币{}元,请拿走零钱跟饮料'.format(total, toubi))
break
else:
print('请投入正确的面值')
第四题:
每隔2s随机生成一百个数
第一种写法
import time
import random
while True:
num=range(0,100)
nums=random.sample(num,100)
print(nums)
time.sleep(2)
第二种写法
import threading
def fun_time():
global timer
num=range(0,100)
nums=random.sample(num,100)
print(nums)
timer = threading.Timer(2, fun_time)
timer.start()
timer=threading.Timer(1,fun_time) #第一次执行函数的时间是一秒,后面都是每隔两秒调用一次
timer.start()
time.sleep(60) #60秒后停止定时器
timer.cancel() #停止定时器工作
第五题:
定义一个学生类
有下面几个属性:姓名、年龄、成绩(语文、数学、英语)[每课成绩的类型为整数],均放在初始化函数里面
类方法:
获取学生的姓名 get_name(),返回的类型str
获取学生的年龄 get_age(),返回的类型是Int
返回三门课中最高的分数,get_course(),返回类型是Int
results={"语文":100,"英语":80,"数学":98}
class Students:
def __init__(self,name,age,results):
self.name=name
self.age=age
self.results=results
def get_name(self):
print('姓名是'+self.name)
def get_age(self):
print('年龄是{}'.format(self.age))
def max_course(self):
for one in self.results:
if self.results[one] == max(self.results.values()):
print('三门课中分数最高的是{},成绩是{}'.format(one, max(self.results.values())))
s1=Students('张三',15,{"语文":100,"英语":80,"数学":98})
s1.get_name()
s1.get_age()
s1.max_course()
第六题:
定义一个游乐园门票的类,完成大人和儿童的总票价统计
人数不定,有你输入的个数决定
平时票价为100元
周末票价为平日票价的120%
儿童半价
price=100
class AmusenmentPark:
def __init__(self,adultsnums,childrennums):
self.adultsnums=adultsnums
self.childrennums=childrennums
def weekdays(self):
sum=self.adultsnums * price + self.childrennums*(price / 2)
return '有大人{}个,小孩{}个,大人的票价是{}元,小孩的票价是{}元,总计{}元'.format(self.adultsnums,self.childrennums,price,price / 2,sum)
def weekend(self):
sum=self.adultsnums * (price * 1.2)+self.childrennums*(price * 1.2 / 2)
return '有大人{}个,小孩{}个,大人的票价是{}元,小孩的票价是{}元,总计{}元'.format( self.adultsnums, self.childrennums, price * 1.2, price * 1.2 / 2, sum)
def summoney(self,today):
if today == '周六' or today == '周日':
print('今天是{}'.format(today)+ self.weekend())
else:
print('今天是{}'.format(today)+ self.weekdays())
A1=AmusenmentPark(4,2)
A1.summoney('周六')
第七题:
人和机器猜拳游戏写一个类
函数1 选择角色1曹操 2张飞 3刘备
函数2角色猜拳1剪刀 2石头 3布 玩家输入一个1到3的数字
函数3 电脑出拳 随机产生一个1,3的数字,提示电脑出拳的结果
函数4 角色和机器出拳对战,对战结束后,最后出示本剧对战结果嬴 输 然后提示用户是否继续,按y继续 n结束
最后结束的 时候输出结果,角色嬴几局 输几局,平局几次游戏结束
import random
class Games:
role_data = {'1': '剪刀', '2': '石头', '3': '布'}
def role(self):
while True:
data={'曹操':'1','张飞':'2','刘备':'3'}
num=int(input('请输入角色:1代表曹操,2代表张飞,3代表刘备'))
if num in range(1,4):
for role in data:
if data[role] == num:
print('您选中的角色是{}'.format(role))
break
else:
print('您输入的角色数字不对')
return print(role)
def role_game(self):
while True:
game_num=int(input('请输入角色猜拳:1剪刀 2石头 3布'))
if game_num in range(1,4):
break
#return role_data[str(game_num)]
return game_num
def win_game(self):
win_data = {'1': '剪刀', '2': '石头', '3': '布'}
#return win_data[str(random.randint(1, 3))]
return random.randint(1, 3)
# 函数4 角色和机器出拳对战,对战结束后,最后出示本局对战结果嬴 输 然后提示用户是否继续,按y继续 n结束
def role_park_win(self):
a = 0 # 角色赢
b = 0 # 电脑嬴
c = 0 # 平
self.role()
while True:
role_game=self.role_game()
win_game=self.win_game()
win=role_game - win_game
print('角色的出拳是{},电脑的出拳是{}'.format(self.role_data[str(role_game)], self.role_data[str(win_game)]))
KO=input('游戏是否继续')
if KO == 'n':
break
if win == -2 or win == 1 :
a=a+1
print('角色嬴,赢了{}局'.format(a))
elif win == -1 or win == 2 :
b=b+1
print('电脑嬴,赢了{}局'.format(b))
elif win == win:
print('平局')
print('角色赢了{}局,电脑赢了{}局,平局{}'.format(a, b, c))
if __name__ == '__main__':
Games().role_park_win()
第八题:
简述:要求输入某年某月某日
提问:求判断输入日期是当年中的第几天?
time_data=input('请输入具体的年月日')
L=[]
data_time1=[31,29,30,30,31,30,31,31,30,31,30,31]
data_time2=[31,28,30,30,31,30,31,31,30,31,30,31]
sum=0
for one in time_data.split('-'):
L.append(one)
try:
if int(L[0]) % 4 == 0:
for i in range(0,int(L[1])-1):
sum=sum + data_time1[i]
else:
for i in range(0,int(L[1])-1):
sum=sum + data_time2[i]
print('输入的日期是全年的第{}天'.format(sum+int(L[2])))
except Exception as e:
print('年月日格式输入错误')
print(e)
第九题:
整数顺序排列问题简述:任意三个整数类型,x、y、z
提问:要求把这三个数,按照由小到大的顺序输出 Python解题思路分析:
L=[]
num1=int(input('请输入第一位数:'))
num2=int(input('请输入第二位数:'))
num3=int(input('请输入第三位数:'))
L.append(num1)
L.append(num2)
L.append(num3)
L.sort()
print(L)