Day02—homework

Day02–homework

在这里插入图片描述

1.解一元二次方程

编写程序:

import math
d = 0
def gen(a,b,c):
    d = b*b - 4 * a * c
    if d > 0 :
        r1 = (-b + math.sqrt(d)) /( 2*a)
        r2 = (-b - math.sqrt(d)) / (2*a)
        print("该方程实根为 %f and %f"%(r1,r2))
    elif d == 0:
        r = -b / 2*a
        print("该方程实根为 %f"%r)
    else:
        print('该方程无实根')

def start():
    a,b,c = map(float,input('请输入a,b,c(逗号分隔):').split(','))
    gen(a,b,c)

start()

结果为:


请输入a,b,c(逗号分隔):1,3,1
该方程实根为 -0.381966 and -2.618034

请输入a,b,c(逗号分隔):1,2.0,1
该方程实根为 -1.000000

请输入a,b,c(逗号分隔):1,2,3
该方程无实根

在这里插入图片描述

2.学习加法

编写程序:

import random

def Add(x):
    a = random.randint(0,100)
    b = random.randint(0,100)
    if x == a + b:
        print('True')
    else:
        print('False')

def Start():
    x = int(input('请输入两个随机数的和:'))
    Add(x)

Start()

结果为:

请输入两个随机数的和:66
False

3.找未来数据

*编写程序:

def main():
    N = int(input('Enter today is day(Sunday=0,Monday=1...Saturday=6):'))
    F = int(input('Enter the number of days elapsed since today:'))
    Nday = mathtoday(N)
    Fday = mathFday(N,F)
    print('Today is %s and the future day is %s'%(Nday,Fday))

def mathtoday(Fday):
    if Fday == 0:
        today = 'Sunday'
    elif Fday == 1:
        today = 'Monday'
    elif Fday == 2:
        today = 'Tuesday'
    elif Fday == 3:
        today = 'Wednesday'
    elif Fday == 4:
        today = 'Thursday'
    elif Fday == 5:
        today = 'Friday'
    elif Fday == 6:
        today = 'Saterday' 
    return today
def mathFday(Nday,Fday):
    Fuday = (Nday + Fday) % 7
    return mathtoday(Fuday)

main()

结果为:

Enter today is day(Sunday=0,Monday=1...Saturday=6):1
Enter the number of days elapsed since today:3
Today is Monday and the future day is Thursday

在这里插入图片描述

4.排序

编写程序:

def start():
    a,b,c = map(int,input('请输入三个整数(逗号分隔):').split(','))
    list1 = [a,b,c]
    math(list1)
    print(list1)
    
def math(list1):
    return list1.sort()
start()

结果为:

请输入三个整数(逗号分隔):1,5,2
[1, 2, 5]

5.比较价钱

编写程序:

def start():
    weight1,price1 = map(float,input('Enter weight and price for package 1:').split(','))
    weight2,price2 = map(float,input('Enter weight and price for package 2:').split(','))
    package1 = math(weight1,price1)
    package2 = math(weight2,price2)
    math1(package1,package2)

def math1(package1,package2):
    if package1 > package2:
        print('package2 has the better price.')
    elif package1 < package2:
        print('package1 has the better price.')
    else:
        print('一球样')

def math(weight,price):
    xxxPrice = price/weight
    return xxxPrice

start()

结果为:

Enter weight and price for package 1:50,24.59
Enter weight and price for package 2:25,11.99
package2 has the better price.

6.找天数

编写程序:

def start():
	year,month = map(int,input('输入年和月(逗号分隔):').split(','))
	math(year,month)
	
def math(year,month):
    list1 = [1,3,5,7,8,10,12]
    if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
        if month == 2:
            print('这个月有29天')
        elif month in list1:
            print('这个月有31天')
        else:
            print('这个月有30天')
    else:
        if month == 2:
            print('这个月有28天')
        elif month in list1:
            print('这个月有31天')
        else:
            print('这个月有30天')
        
start()

结果为:

输入年和月(逗号分隔)2000,2
这个月有29天

输入年和月(逗号分隔)2005,3
这个月有31天

7.硬币正反游戏

编写程序:

def start():
    x = int(input('请输入你的猜测(1为正,2为反):'))
    math(x)

def math(x):
    a = random.randint(1,2)
    if x == a:
        print('你猜对了')
    else:
        print('你猜错了')

start()

结果为:

请输入你的猜测(1为正,2为反):2
你猜对了

请输入你的猜测(1为正,2为反):2
你猜错了

在这里插入图片描述

8.猜拳游戏

编写程序:

import random

def start():
    U_res = int(input('0:石头,1:剪刀,2:布>>>'))
    math(U_res)

def math(U_res):  
    C_res = random.randint(0,2)
    if C_res == U_res:
        print('平局')
    else:
        if C_res == 0 and U_res == 1:
            print('电脑赢了 ')
        elif C_res == 1 and U_res == 2:
            print('电脑赢了 ')
        elif C_res == 2 and U_res == 0:
            print('电脑赢了 ')
        else:
            print('你赢了 ')

start()

结果为:

0:石头,1:剪刀,2:布>>>0
你赢了

在这里插入图片描述

9.科学问题

编写程序:

def main(year,m,d):
    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():
    year = int(input('输入哪一年:'))
    m = int(input('输入月份1-12:'))
    d = int(input('输入月份第几天1-31:'))
    main(year,m,d)
Start()

结果为:

输入哪一年:2013
输入月份1-12:1
输入月份第几天1-31:25
那一天是一周中的:周五

输入哪一年:2012
输入月份1-12:5
输入月份第几天1-31:12
那一天是一周中的:周六

输入哪一年:2019
输入月份1-12:8
输入月份第几天1-31:16
那一天是一周中的:周五

在这里插入图片描述

10.选牌

编写程序:

def chou():
    import numpy as np
    daxiao=np.random.choice(['A','2','3','4','5','6','7','8','9','10','J','Q','K'])
    huase=np.random.choice(['梅花','红桃','方块','黑桃'])
    print('你选择的牌是  %s , %s'%(huase,daxiao))
def Start():
    a = input("是否决定抽牌y/n:")
    if a == 'y':
        chou()
    else:
        pass
Start()

结果为:

是否决定抽牌y/n:y
你选择的牌是  黑桃 , 5

11.回文数

编写程序:

def main(a):   
    b = a
    a2 = 0
    while b > 0:
        a2 *= 10
        a2 += b % 10
        b //= 10
    if a == a2:
        print('%d是回文数' % a)
    else:
        print('%d不是回文数' % a)
def start():
    a = int(input('请输入一个正整数: '))
    main(a)
start()

结果为:

请输入一个正整数: 121
121是回文数

请输入一个正整数: 123
123不是回文数

12.计算三角形周长

编写程序:

def main(a,b,c):
    if a+b>c and a+c>b and b+c>a:
        L = a+b+c
        print("其周长为",L)
    else:
        print("不是三角形三条边") 
def Start():
    a,b,c = map(float,input('请输入三条边长(逗号分隔):').split(','))
    main(a,b,c)
Start()

结果为:

请输入三条边长(逗号分隔):3,4,5
其周长为 12.0

请输入三条边长(逗号分隔):2,2,5
不是三角形三条边
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值