python作业完成的,有些地方没有完善,多多包涵
目录
1.函数实现:随机(使用random中的randint实现)生产20个学生成绩,根据成绩去判断学生的成绩等级
#6.随机输入一个八位以内的整数,求它是几位数,然后逆序打印其他数字
1.函数实现:随机(使用random中的randint实现)生产20个学生成绩,根据成绩去判断学生的成绩等级
##1.函数实现:
# 随机(使用random中的randint实现)生产20个学生成绩
# 根据成绩去判断学生的成绩等级(结合之前案例)
import random
def Judgment_result(score):
if score>90:
print('您成绩是:',score,'等级:优秀')
elif score>70 and score<90:
print('您成绩是:',score,'等级:良好')
elif score > 60 and score < 70:
print('您成绩是:',score,'等级:及格')
else:
print('您成绩是:',score,'等级:不及格')
if __name__ == '__main__':
for i in range(0,21):
Judgment_result(random.randint(0,100))
#2.结合之前的(人机猜拳游戏)案例模拟老虎棒子鸡游戏
#老虎棒子鸡说明:1,老虎可以吃鸡(老虎赢),2,鸡可以吃虫子(鸡赢)3,棒子打老虎(棒子赢)4,棒子可以打鸡(棒子赢)5,虫子可以腐蚀棒子(虫子赢)
#结合猜拳的特点,实现老虎棒子鸡的多种可能的游戏模拟
#2.结合之前的(人机猜拳游戏)案例模拟老虎棒子鸡游戏
#老虎棒子鸡说明:1,老虎可以吃鸡(老虎赢),
# 2,鸡可以吃虫子(鸡赢)
# 3,棒子打老虎(棒子赢)
# 4,棒子可以打鸡(棒子赢)
# 5,虫子可以腐蚀棒子(虫子赢)
#结合猜拳的特点,实现老虎棒子鸡的多种可能的游戏模拟
'''
规则没懂 按着石头剪刀布的规则制定了一个
步骤一:创建玩家,创建老虎,棒子,鸡集合
步骤二:玩家猜拳
步骤三:电脑随机生成猜拳
步骤四:生成结果(制定游戏规则)+五局三胜
步骤五:输入结果
'''
import random
sum=0
def Rule(list):#制定规则
global sum
player = input('请输入您的选项:1:【老虎】 2:【棒子】 3:【鸡】')
com = random.choice(list)
if player=='老虎'or player=='1':
if( com=='鸡'):
print('win!','您的选择是 老虎 vs 鸡')
sum=sum+1
elif( com=='棒子'):
print('lose!','您的选择是 老虎 vs 棒子')
else:
print('deuce!', '您的选择是 老虎 vs 老虎')
elif player=='棒子'or player=='2':
if(com=='老虎'):
print('win!', '您的选择是 棒子 vs 老虎')
sum=sum+1
elif(com=='棒子'):
print('deuce!','您的选择是 棒子 vs 棒子')
else:
print('lose!', '您的选择是 棒子 vs 鸡')
elif player == '鸡' or player == '3':
if(com=='老虎'):
print('lose!', '您的选择是 鸡 vs 老虎')
elif(com=='棒子'):
print('win!','您的选择是 鸡 vs 棒子')
sum=sum+1
else:
print('deuce!', '您的选择是 鸡 vs 鸡')
else:
print('请重新输入')
def panduan():#判断结果并输入
if sum >= 3:
print('恭喜你赢了,成绩是五局', sum, '胜')
else:
print('不好意思,您只赢了', sum, '局,请再接再厉')
if __name__ == '__main__':
print('==============欢迎来到老虎棒子鸡游戏===============')
list = ['老虎', '棒子', '鸡']#生成列表
#电脑随机生成猜拳
for i in range(0,5):
Rule(list)
panduan()
#3.输入某年某月某日,判断这一天是这一年的第几天?
#3.输入某年某月某日,判断这一天是这一年的第几天?
import time
import datetime
# year%400==0)or((year%4==0)and(year%100!=0)
#t_str = input('请以xxxx-xx-xx 的格式输入日期')
if __name__ == '__main__':
year=int(input('请输入年份'))
mouth=int(input('请输入x月'))
date_time=int(input('请输入X日'))
sum=0
if (year%400==0)or((year%4==0)and(year%100!=0)):
mouths=[0,31,60,91,121,152,182,213,244,274,305,335,366]
sum=mouths[mouth-1]+date_time
else:
mouths=[0,31,59,90,120,151,181,212,243,273,304,334,365]
sum=mouths[mouth-1]+date_time
print(sum)
#4.1-100之间可以被6整除的个数
#4. 1-100之间可以被6整除的个数
'''
for循环遍历
'''
if __name__ == '__main__':
arr=[]
for i in range(0,101):
if(i%6==0):
#可以被6整除的数添加到数组中
arr.append(i)
print('1-100之间可以被6整除的数有',arr)
print('一共有',len(arr),'个')
#5.面向对象试题
#定义3个类: ()代表类的属性
#狗(姓名,年龄(默认一岁)) 对应功能 吃饭,玩,看家(输出格式:名字是XX,年龄xx的小狗在xx)
#猫(姓名,年龄,默认一岁) 对应功能 吃饭,玩,看家(输出格式:名字是XX,年龄xx的小猫在xx)
#人 (姓名,年龄,默认18) 对应功能 吃饭,睡觉,上学,养宠物
被同学说没有人机交互。。。修改了一下代码
年龄可以用input同样的方法设置
#5.面向对象试题
#定义3个类: ()代表类的属性
#狗(姓名,年龄(默认一岁)) 对应功能 吃饭,玩,看家(输出格式:名字是XX,年龄xx的小狗在xx)
#猫(姓名,年龄,默认一岁) 对应功能 吃饭,玩,看家(输出格式:名字是XX,年龄xx的小猫在xx)
#人 (姓名,年龄,默认18) 对应功能 吃饭,睡觉,上学,养宠物
'''
class Dog:
def __init__(self,name,age):#初始化
self.age=1
self.name=name
def eat(self):
print('名字是',self.name,'年龄为',self.age,'的小狗正在吃')
def play(self):
print('名字是',self.name,'年龄为',self.age,'的小狗正在玩')
def Housekeeping(self):
print('名字是',self.name,'年龄为',self.age,'的小狗正在看家')
class Cat:
def __init__(self, name, age): # 初始化
self.age = 1
self.name = name
def eat(self):
print('名字是', self.name, '年龄为', self.age, '的小猫正在吃')
def play(self):
print('名字是', self.name, '年龄为', self.age, '的小猫正在玩')
def Housekeeping(self):
print('名字是', self.name, '年龄为', self.age, '的小猫正在看家')
class Person:
def __init__(self,name,age):#初始化
self.age=18
self.name=name
def eat(self):
print(self.name,'正在吃')
def sleep(self):
print(self.name,'正在入睡.... ')
def gotoschool(self):
print(self.name,'上学中')
def pet(self):
print(self.name,'养宠物')
def dog_choice():
Dog_choice = input('请选择狗狗的状态:1【吃】 2【看家】 3【玩】')
print(Dog_choice)
if Dog_choice == '1' or Dog_choice == '吃':
jinmao.eat()
elif Dog_choice == '2' or Dog_choice == '看家':
jinmao.Housekeeping()
elif Dog_choice == '3' or Dog_choice == '玩':
jinmao.play()
else:
print('没有该选项请重新输入')
dog_choice()
def cat_choice():
Cat_choice = input('请选择猫猫的状态:1【吃】 2【看家】 3【玩】')
if Cat_choice == '1 'or Cat_choice == '吃':
maomao.eat()
elif Cat_choice == '2' or Cat_choice == '看家':
maomao.Housekeeping()
elif Cat_choice == '3'or Cat_choice == '玩':
maomao.play()
else:
print('没有该选项请重新输入')
cat_choice()
def person_choice():
Person_choice = input('请选择人的状态:1【吃】 2【睡觉】 3【上学】 4【养宠物】')
if Person_choice == '1 'or Person_choice == '吃':
person.eat()
elif Person_choice == '2' or Person_choice == '睡觉':
person.sleep()
elif Person_choice == '3' or Person_choice== '上学':
person.gotoschool()
elif Person_choice=='4' or Person_choice=='养宠物':
person.pet()
else:
print('没有该选项请重新输入')
person_choice()
if __name__ == '__main__':
Dog_name=input('请设置狗狗的名字')
jinmao=Dog(Dog_name,2)#创建一个金毛狗狗对象
dog_choice()
Cat_name = input('请设置猫猫的名字')
maomao=Cat(Cat_name,3)#创建猫
cat_choice()
Person_name = input('请设置人的名字')
person=Person(Person_name,20)
person_choice()
#6.随机输入一个八位以内的整数,求它是几位数,然后逆序打印其他数字
#6.随机输入一个八位以内的整数,求它是几位数,然后逆序打印其他数字\
#步骤:1输入一个数字--(调用panduan方法)-->判断是否为八位数以内---YES--->倒叙打印输出
# ---NO--->调用getnum方法重新输入
def getnum():
num=input('请输入一个整数')
panduan(num)
def panduan(num):
if len(num)>8:
# 超出数字范围 重新输入328647
print('已超过八位,请重新输入新的整数')
getnum()
else:
printnum(num)
def printnum(num):
print('这是一个', int(len(num)), '位数')
print(''.join(list(reversed(num))))
if __name__ == '__main__':
num = input('请输入一个整数')
panduan(num)