# ##课上练习:1
#
# 我想买车,买什么车决定于我在银行有多少存款
# 如果我的存款超过500万,我就买路虎
# 否则,如果我的存款超过100万,我就买宝马
# 否则, 如果我的存款超过50万,我就买迈腾
# 否则, 如果我的存款超过10万,我就买福特
# 否则, 如果我的存款10万以下 ,我买比亚迪##
money = int(input('翻兜儿'))
if money >= 1000000:
print('buy BMW')
elif money < 1000000 and money >= 500000:
print('buy GM')
elif money < 500000 and money >= 100000:
print('buy Ford')
elif money < 100000 and money >= 50000:
print('buy BYD')
else:
print('wish u a dream')
# 课上练习:2
#
# 输入小明的考试成绩,显示所获奖励
# 成绩 == 100分,爸爸给他买辆车
# 成绩 >= 90分,妈妈给他买MP4
# 90分 > 成绩 >= 60分,妈妈给他买本参考书
# 成绩 < 60分,什么都不买
score = float(input('考咋样啊'))
if score == 100:
print('你爹给买车')
elif 100 > score >= 90:
print('你妈给买MP4')
elif 90 > score >= 60:
print('你妈给买参考书')
else:
print('好好学学吧')
# 作业1:输入n的值,求出n的阶乘。
while True:
n = int(input('输入一个自然数:'))
result1 = 1
result2 = 0
for num in range(1, n+1):
result1 *= num
print(result1)
# 2、折纸上月球
# 大家都看过科幻片《火星救援The
# Martian》吧,电影里航天员们在太空中碰到各种情况都是靠计算机模拟、计算来解决问题的。
# 我们在地球上也可以靠高大上的Python语言来解决问题。现在问题来了:我们都知道,月亮在一个椭圆形的轨道上绕地球公转,
# 因此两者的距离是不断变化的,它们的最小距离是363300公里。现在我们都想去月球旅游(地球玩腻了,想换个口味),
# 但是坐火箭上天一次就带辣么几个人,我们等不及。好消息,好消息,厂家现在开发出逆天神技——折纸上月球!
# 只需一张很大的A4纸,厚度为0.088毫米,折一次就0.176毫米,折两次就0.352毫米……多折几次就很高了。
# 穿上冲锋衣,拿上登山杖,带上自拍杆,我们爬着就可以上月球发朋友圈了。我就想问一句:要上月球,我们到底需要折多少次?
a = 363300000000
c = 0.088
for x in range(1, 1000000):
b = c*(2**x)
if b >= a:
break
print(b)
print(x)
# 3、篮球弹跳高度的计算
# 书呆子就是书呆子,打个篮球脑子也不闲着。这种人说好听的叫‘geek’,说不好听的就是叫‘nerd’。
# 这不,书呆子看着篮球在想:如果篮球从某一高度落下,每次落地后反弹回原来高度的一半再落下。
# 那么球在第10次落地时,共经过多少米呢? 第10次反弹多高? (你问我这个题是不是瞎编的?当然是了,你什么时候见过书呆子打篮球?)
# 输入:输入一个整数h,单位是米,表示球的初始高度。
# 输出:输出包含两行:
# 第1行:到球第10次落地时,一共经过的距离。
# 第2行:第10次弹跳的高度。
# 例如输入:20
# 对应输出:第一行:59.921875
# 第二行:0.01953125
h0 = float(input('输入高度:'))
s = h0
s1 = 0
for i in range(1, 11):
h1 = h0*((1/2)**i)
s1 += h0*((1/2)**(i-1))*2
print(str(i))
print(h1)
print(s1)
print(s1-h0)
print(h1)
# 4、我国现有13亿人口,设每年增长0.8 %,编写程序,计算多少年后达到26亿?
people_now = 1300000000
for i in range(1, 100):
people_future = people_now*(1.008**i)
if people_future >= 2600000000:
break
print(i)
print(people_future)
people_future_front = people_now*(1.008**86)
print(people_future_front)
# 5、求1!+2!+3!+4!+5!的和。
while True:
n = int(input('输入一个自然数:'))
result1 = 1
result2 = 0
for num in range(1, n+1):
result1 *= num
# print(result1)
result2 += result1
print(result2)
# 6、星号三角形:读入一个整数N,N是奇数,输出由星号字符组成的等腰三角形,要求:第1行1个星号,第2行3个星号,第3行5个星号,依次类推,最后一行共N的星号。
# 输入:3
# 输出:
# *
# ** *
while True:
N = int(input('请输入:'))
l1 = []
l2 = []
if N%2==1:
l1 = [i for i in range(1,N+1) ]
print(l1)
for i in l1:
if i%2==1:
l2.append(i)
print(l2)
for i in l2:
print(' '*int((N-i)/2), '*'*i)