'''
6. 一元二次方程:ax2+bx+c=0 (a ╪ 0)
【输入形式】输入a、b和c的值(有理数)
【输出形式】输出x的两个值,或者No(即没有有理数的解)
'''
import math
a = int(input())
b = int(input())
c = int(input())
disc = b*b - 4*a*c
p = -b/(2*a)
if disc > 0:
q = math.sqrt(disc)/(2*a)
x1 = p + q
x2 = p - q
print("x1 = %s,x2 = %s"%(str(x1,x2)))
elif disc == 0:
x1 = p
print("x1 = x2 = ",x1)
else:
disc = -disc
q = math.sqrt(disc)/(2*a)
print("x1 = ",p,"+",q)
print("x2 = ", p, "-", q)
'''
7. 计算1+1/2+1/3+...+1/n
'''
n = int(input())
sum = 0
for i in range(1,n+1):
sum += 1/i
print(sum)
'''
8. 编写猜数游戏程序,功能是:允许用户反复输入数,
直至猜中程序选定的数(假定为100)。
输入的数如果大于选定的数,则提示"larger than expected";
如果小于选定的数,则提示"less than expected";
如果等于选定的数,则输出"you win"并结束程序。
'''
import random
num = random.randint(1,5)
while True:
your_num = int(input())
if your_num == num:
print("you win")
break
elif your_num > num:
print("larger than expected")
else:
print("less than expected")
'''
9. 计算1-100之间的偶数和
'''
num_lst = [i for i in range(1,101) if i % 2 == 0]
print(sum(num_lst))
'''
10. 猴子摘下若干个桃子,第一天吃了桃子的一半多一个,
以后每天吃了前一天剩下的一半多一个,
到第n天吃以前发现只剩下一个桃子,
编写程序实现:据输入的天数计算并输出猴子共摘了几个桃子
【输入形式】输入的一行为一个非负整数,表示一共吃的天数。
【输出形式】输出的一行为一个非负整数,表示共摘了几个桃子,
若输入的数据不合法(如:负数或小数),则输出"illegal data"。
'''
def Peach(day,yesterday_sum,now_rest):
if day != 0:
day -= 1
yesterday_sum = (now_rest + 1) * 2
now_rest = yesterday_sum
return Peach(day,yesterday_sum,now_rest)
else:
return yesterday_sum
yesterday_sum = 0
now_rest = 1
day = int(input())
if day <= 0:
print("illegal data")
exit()
print(Peach(day,yesterday_sum,now_rest))
2020-05-28