Python Day02习题

01

“”"
需求:
r1 = -b+(b2-4ac)(1/2) / 2a, r2 = -b-(b2-4ac)(1/2) / 2a, b^2 - 4ac被称为二次方程的判别式,
如果它为正,那么方程有两个实根;如果它为零,那么方程有一个实根:如果它为负,那么方程没有实根
“”"

def hanshu(a,b,c):
    gen = b ** 2 - 4 * a * c
    if gen > 0:
        r1 = (-b + gen) ** 0.5 / 2 * a
        r2 = (-b - gen) ** 0.5 / 2 * a
        print("方程有两个实根")
    elif gen == 0:
        print("方程有一个实根")
    else:
        print("方程没有实根")

def start():
    #使用input函数输入a、b、c
    a = int(input('a = '))
    b = int(input('b = '))
    c = int(input('c = '))
    hanshu(a,b,c)
#调用函数
start()

运行结果1:
a = 1
b = 3
c = 1
方程有两个实根

运行结果2:
a = 1
b = 2
c = 1
方程有一个实根

运行结果3:
a = 1
b = 2
c = 3
方程没有实根

02

“”"
需求:
编写一个程序产生两个100以下的整数,然后提示用户输入这两个整数的和。
如果答案是正确的,程序报告结果为真,否则为假。
“”"

import random
def Sum_(sum):
    a = random.randint(0,100)
    b = random.randint(0,100)
    
    if a + b == sum:
        print("程序报告结果为真")
    else:
        print("程序报告结果为假")

def Start():
    sum = input("请输入a和b的和")
    Sum_(sum)
#调用函数
Start()

运行结果:
请输入a和b的和3
程序报告结果为假

03

“”"
需求:
编写程序提示用户输入表示今天是一周内的哪天(星期日是0,其它相对应)。
提示用户输入今天之后到未来某天的天数,然后显示未来这天是星期几。
“”"

def days(today,f_day):
    if today == 0:
        today = "周日"
    elif today ==1:
        today = "周一"
    elif today ==2:
        today = "周二"
    elif today ==3:
        today = "周三"
    elif today ==4:
        today = "周四"
    elif today ==5:
        today = "周五"
    elif today ==6:
        today = "周六"
    if f_day >7:
        if f_day % 7 == 0:
            f_day = "S周日"
        elif f_day % 7 ==1:
            f_day = "周一"
        elif f_day % 7 ==2:
            f_day = "周二"
        elif f_day % 7 ==3:
            f_day = "周三"
        elif f_day % 7 ==4:
            f_day = "周四"
        elif f_day % 7 ==5:
            f_day = "周五"
        elif f_day % 7 ==6:
            f_day = "周六"
    else:
            if f_day == 0:
                f_day = "周日"
            elif f_day ==1:
                f_day = "周一"
            elif f_day ==2:
                f_day = "周二"
            elif f_day ==3:
                f_day = "周三"
            elif f_day ==4:
                f_day = "周四"
            elif f_day ==5:
                f_day = "周五"
            elif f_day ==6:
                f_day = "周六"
    print("今天是 {} 在过x天是 {}".format(today,f_day))
def start():
    today = int(input("今儿是周几啊:"))
    f_day = int(input("未来第x天呢,请输入x:"))
    days(today,f_day)

start()
运行结果:
今儿是周几啊:1
未来第x天呢,请输入x:2
今天是 周一 在过x天是 周二

04

“”"
需求:
对三个整数排序
“”"

def Num(num1,num2,num3):
    num = [num1,num2,num3]
    num.sort()
    print(num)
def Start():
    num1 = int(input("请输入一个整数:"))
    num2 = int(input("请输入一个整数:"))
    num3 = int(input("请输入一个整数:"))
    Num(num1,num2,num3)
Start()

运行结果:
请输入一个整数:1
请输入一个整数:2
请输入一个整数:3
[1, 2, 3]

05

“”"
需求:
比较价钱
“”"

def Package_(weight1,weight2,price1,price2):
    dan1 = price1 / weight1
    dan2 = price2 / weight2
    if dan1 > dan2:
        print("买第二件商品")
    else:
        print("买第一件商品")

def Start():
    price1 = float(input("请输入第一件商品的价钱:"))
    price2 = float(input("请输入第二件商品的价钱:"))
    weight1 = float(input("请输入第一件商品的重量:"))
    weight2 = float(input("请输入第二件商品的重量:"))
    Package_(weight1,weight2,price1,price2)
    
Start()
运行结果:
请输入第一件商品的价钱:100
请输入第二件商品的价钱:999
请输入第一件商品的重量:1
请输入第二件商品的重量:999
买第二件商品

06

“”"
需求:
编写程序提示用户输入月和年,然后显示这个月的天数
“”"

 import calendar 
def num(year,month):
    print(calendar.monthrange(year, month)[1])
def start():
    year = int(input('Enter year: ')) 
        month = int(input('Enter month number: '))
        num(year,month)
    start()

运行结果:
Enter year: 1997
Enter month number: 10
31

07

“”"
猜测一个弹起的硬币是正面还是反面,输入猜测值,显示猜测值的正确与否
“”"

import random
def Front_back(front_back):
    # 0:正面 1:反面
    a = random.randint(0,1)
    if a == front_back:
        print("正确")
    else:
        print("错误")

def Start():
    front_back = input("猜猜硬币的正反面(0:正面 1:反面): ")
    Front_back(front_back)

#调用函数
Start()

运行结果:
猜猜硬币的正反面(0:正面 1:反面): 1
错误

08

“”"
需求:
石头剪刀布
“”"

import random
def caiquan(people):
    0 == '剪刀'
    1 == '石头'
    2 == '布'
    c = random.randint(0,2)
    print(c)
    if people == c:
        print('平')
    else:
        if c == 0 and people == 1:
            print('defeat')
        elif c == 1 and people == 2:
            print('defeat')
        elif c == 2 and people == 0:
            print('defeat')
        else:
            print('victory')
def start():
    people = int(input('请出拳:'))
        caiquan(people)
    start()

运行结果:
请出拳:1
    2
    victory 

09

Python Day02习题_第1张图片

def main():
    year = int(input('请输入年份:'))
    m = int(input('请输入月份1-12:'))
    d = int(input('请输入月份第几天1-31:'))
    a = ['周日','周一','周二','周三','周四','周五','周六']
    if m == 1:
        m = 13
        year = year - 1
    if m ==2:
        m = 14
        year = year - 1
    h = int(d+((26*(m+1))//10)+(year%100)+((year%100)/4)+((year//100)/4)+5*year//100)%7
    day = a[h]
    print('那一天是:%s' %day)
def Start():
    main()
Start()

运行结果:
请输入年份:2018
请输入月份1-12:8
请输入月份第几天1-31:16
那一天是:周五

10

"""
需求:
编写程序模拟从52张牌中选出一张。
"""
```
    import random
    def pai():
    	#牌的大小和花色
    	shu = ["a",2,3,4,5,6,7,8,9,10,"jack","queen","king"] 
    	hua = ["梅花","红桃","方块","黑桃"]
    	a = random.choice(shu)
    	b = random.choice(hua)
    	print("这张是{}{}".format(b,a))
    pai()

运行结果:
这张是方块3

11

“”"
需求:
编写程序提示用户输入一个三位整数,然后决定它是否是一个回文数。如果一个数从左向右和从右向左读时是一个样的,那个数就是回文数。
“”"


    def Palindrome():
        p = int(input('请输入一个正整数: '))
        w = p
        p2 = 0
        while w > 0:
            p2 *= 10
            p2 += w % 10
            w //= 10
        if p == p2:
            print('%d是回文数' % p)
        else:
            print('%d不是回文数' % p)
    def Start():
        Palindrome()
    Start()
    
    运行结果1:
    请输入一个正整数: 121
    121是回文数
    运行结果2:
    请输入一个正整数: 123
    123不是回文数

12

“”"
需求:
计算三角形的周长,编写程序读取三角形的三个边,如果输入都是合法的则计算它的周长,否则显示这个输入是非法的,如果两边之和大于第三边则输入都是合法的。
“”"

def main():
    #使用input函数分别输入三角形的三个边a、b、c
    a = int(input("请输入三角形的边长:"))
    b = int(input("请输入三角形的边长:"))
    c = int(input("请输入三角形的边长:"))
    #三角形的两边之和大于第三边,两边之差小于第三边
    if a + b > c and a + c > b and b + c > a and a - b < c and a - c < b and b - c < a and  b - a < c and c - a < b and c - b < a:
        L = a + b + c
        print("三角形的周长为:%d"%L)
    else:
        print("非法输入")
def Start():
    main()

Start()

运行结果1:
请输入三角形的边长:3
请输入三角形的边长:4
请输入三角形的边长:5
三角形的周长为:12

运行结果2:
请输入三角形的边长:1
请输入三角形的边长:1
请输入三角形的边长:2
非法输入
"""
```

13(no perfect)

“”"
需求:
创建一个播放列表,运行就阔以听音乐
VIP设置才可以播放某些音乐,可以充值VIP
切歌和搜索音乐
“”"

import time
import pygame
import os
c = []
#遍历这个文档
for dirs in os.walk(r'F:\CloudMusic'):
    for dir in dirs:
        c.append(dir)
for name in c[2]:
    file = 'F:/CloudMusic/' + name
    #pygame.init()进行全部模块的初始化 
    #只初始化音频部分
    pygame.mixer.init()
    print(name)
    #使用文件名作为参数载入音乐
    track = pygame.mixer.music.load(file)
    if name  == "B.mp3" or "M.mp3":
        vip = input("您是vip吗?[y/n]")
        if vip == "y":
            #播放载入的音乐
            pygame.mixer.music.play()    
            #播放音乐10秒
            time.sleep(10)
            #停止播放
            pygame.mixer.music.stop()
        else:
            print("非会员无法播放此歌曲")
    else:
        #播放载入的音乐
        pygame.mixer.music.play()    
        #播放音乐10秒
        time.sleep(10)
        #停止播放
        pygame.mixer.music.stop()


14

Python Day02习题_第2张图片

你可能感兴趣的:(函数)