Python習題集答案

第三章

1~5

import math
def test(a, b, c):
	if a <= 0 or b <= 0 or c <= 0:
		return False
	else:
		return math.sqrt((a ** 2) + (b ** 2)) == c
a, b, c = eval(input()), eval(input()), eval(input())
print('YES' if (test(a,b,c) | test(c,b,a) | test(b,a,c)) else 'NO')
x = int(input())
if x % 100 == 0:
	print(366 if x % 400 == 0 else 365)
else:
	print(366 if x % 4 == 0 else 365)
	
import math
def test(a, b, c):
	if a <= 0 or b <= 0 or c <= 0:
		return False
	else:
		return a + b > c
a, b, c = eval(input()), eval(input()), eval(input())
s = (a + b + c) / 2
print(('YES\n' + '{:.2f}'.format(math.pow(s * (s - a) * (s - b) * (s - c), .5))) if (test(a,b,c) & test(c,b,a) & test(b,a,c)) else 'NO')
a, b, sex = int(input()), int(input()), input()
if sex  == '女':
	print(int( (a*0.923+b) /2))
elif sex  == '男':
	print(int( (a+b)* 1.08 / 2))
else:
	print("无对应公式")
x = float(input())
if x < 0:
	print('error')
else:
	rules = [
		(0, .03, 0),
		(3000, .1, 210),
		(12000, .2, 1410),
		(25000, .25, 2660),
		(35000, .3, 4410),
		(55000, .35, 7160),
		(80000, .45, 15160),
		(10**10,)
	]
	tax = 0
	for i in range(len(rules)):
		if rules[i][0] < (x - 5000) <= rules[i + 1][0]:
			tax = (x - 5000) * rules[i][1] - rules[i][2]
			break
	print("应缴税款{:.2f}元,实发工资{:.2f}元。".format(tax, x - tax))

6~10

x = int(input())
if x % 100 == 0:
	print(x % 400 == 0)
else:
	print(x % 4 == 0)
import functools
x = int(input())
if -6 <= x < 0:
	print(abs(x) + 5)
elif 0 <= x < 3:
	print(functools.reduce(lambda x, y: x * y, list(range(1, x + 1))) if x > 0 else 0)
elif 3 <= x <= 6:
	print(x ** (x - 2))
elif x > 6 or x < -6:
	print(0)
x = int(input())
if 90 <= x <= 100:
	print('A')
elif 80 <= x < 90:
	print('B')
elif 70 <= x < 80:
	print('C')
elif 60 <= x < 70:
	print('D')
elif 0 <= x < 60:
	print('E')
else:
	print('data error!')
s=int(input())
sum= 1
c = 1
d = 1
if s == 0:
    sum = 0
elif s == 1:
    sum = 1
elif s > 1:
    for i in range(1,s):
        a = i
        b = c+d
        c = d
        d = b
        sum += a / b * pow(-1,i)
print('{:.6f}'.format(sum))
sum = 0
for i in range(int(input()) + 1):
	sum += i ** 2
print(sum)

11~15

for x in range(0,20):
	for y in range(0,33):
		z = 100 - x - y
		if 5 * x + 3 * y + z / 3 == 100 and x != 0 and y != 0 and z != 0:
			print('%s %s %s' % (x, y, z))
usr = input()
for i in range(4):
	if (usr == 'admin' or usr == 'administrator') and input() == '012345':
		print('登录成功')
		break
	else:
		print('登录失败')
head, sum =  map(int,input().split())
if head <= 0 or sum <= 0:
	print('Data Error!')
	exit(0)
for cock in range(head):
	psum = sum - cock * 2
	rub = psum / 4
	if rub == head - cock:
		print(f'有{cock}只鸡,{int(rub)}只兔')
		exit(0)
print('Data Error!')
import datetime
x, b, c = map(int, input().split("/"))
cus = datetime.date(x, b, c)
print(f'{x}年{b}月{c}日是{x}年第{cus.timetuple().tm_yday}天')
flag = False
for i in range(int(input()) + 1):
	if i % 3 == 2 and i % 5 == 3 and i % 7 == 2:
		flag = True
		print(i)
if not flag:
	print('No solution!')

16~17

total_cost = float(input())
monthly_salary = float(input()) / 12
portion_saved = float(input()) / 100
semi_annual_raise = float(input()) / 100 + 1

down_payment = .3 * total_cost
print('首付', down_payment)

current_savings = 0
number_of_months = 0
while True:
	if number_of_months != 0 and number_of_months % 6 == 0:
		monthly_salary *= semi_annual_raise
	current_savings += monthly_salary * portion_saved
	number_of_months += 1
	if current_savings > down_payment:
		break
	if number_of_months % 12 == 0:
		print("第{}个月月末有{:,.0f}元存款".format(number_of_months, current_savings))
print(f'需要{number_of_months}个月可以存够首付')
rm = int(input())
rat, mouse, day, time = 1, 1, 0, 1
drat, dmouns = 0, 0
while rm > 0:
    if rm - mouse - rat < 0:
        time = rm / (mouse + rat)
    rm -= mouse + rat
    dmouns += time * mouse
    drat += time * rat
    rat *= 2
    mouse *= .5
    day += 1
print(day)
print(round(dmouns, 1), round(drat, 1))

第四章

1~5

def print_hi_human():
    print("人类,你好!")
if __name__ == '__main__':
    print_hi_human()
def say_hi_human():
    return "人类,你好!"
if __name__ == '__main__':
    print(say_hi_human())
def say_hi_person(full_name):
    return f'{full_name},你好!'
if __name__ == '__main__':
    print(say_hi_person(input()))
def say_hi_gender(full_name, gender):
    return f"尊敬的{full_name}{'女士' if gender == '女' else '先生' if gender == '男' else '先生/女士'},欢迎来到火星!"
if __name__ == '__main__':
    print(say_hi_gender(input(), input()))
def say_hi_multi_parameter(*argv):
    for arg in argv:
        print(f'{arg},你好!')
say_hi_multi_parameter('孟浩然')
say_hi_multi_parameter('杜甫', '李白', '柳宗元', '李商隐')

6~10

import math
print(math.pow(float(input()), int(input())))
def fabs(x):
	return abs(float(x))
if __name__ == '__main__':
	n = float(input())
	print(fabs(n))
def Car(*argv):
    return f'这是一辆{argv[0]}年生产,型号是{argv[1]}的{argv[2] if len(argv) == 3 else "宝马"}牌汽车。'
ls = input().split()
print(Car(*ls))
def self_divisor(num):
	snum = [int(pchar) for pchar in str(num)]
	if 0 in snum:
		return False
	for fnum in snum:
		if num % fnum != 0:
			return False
	return True
def main():
	num = int(input())
	for i in range(1, num + 1):
		if self_divisor(i):
			print(i, end=' ')
main()
No Comments

Send Comment Edit Comment


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
Previous