python2 :第二次课作业

'''	
1、求偶数元素的和[1,2,1,2,3,3,6,5,8]  

2、写代码:计算 1 - 2 + 3 - 4 + ... + 99 中除了88以外所有数的总和?

3 、求1+2!+3!+4!+……+10!的和.

4、编写一个程序.要求用户输入今天是星期几.根据用户的输入判定是工作日还是周末,并显示合适的问候语.
    1.如果输入的数字不在1~7之间,则显示"请输入位于1~7之间的数".
    2.如果用户输入的数字为6或7,则显示"周末愉快!"
    3.对于1~5之间的数字,则显示"工作日愉快!"

5、斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13,特别指出:第0项是0,第1项是第一个1。从第三项开始,每一项都等于前两项之和。
计算索引为10的斐波那契数列对应的值

6、猜数游戏

程序随机内置一个位于一定范围内的数字作为猜测的结果,由用户猜测此数字。用户每猜测一次,由系统提示猜测结果:太大了、太小了或者猜对了,直到用户猜对结果或者猜测次数用完导致失败。
设定一个理想数字比如:66,
让用户三次机会猜数字,如果比66大,则显示猜测的结果大了;
如果比66小,则显示猜测的结果小了;
只有等于66,显示猜测结果正确,退出循环。
最多三次都没有猜测正确,退出循环,并显示‘都没猜对,继续努力’。

7、打印菱形小星星
     *
    ***
   *****
  *******
 *********
***********
***********
 *********
  *******
   *****
    ***
     *
'''

lst = [1,2,1,2,3,3,6,5,8]
sum1 = 0
for i in lst:
    if i % 2 == 0:
        sum1 += i
print(sum1)

a = 1
sum2 = 0
while i <= 99:
    if i == 88:
        i += 1
        continue
    elif i % 2 == 0:
        sum2 -= i
    else:
        sum2 += i
    i += 1
print(sum2)

sum3 = 0
i = 1
while i <= 10:
    sum4 = 1
    j =1
    while j <= i:
        sum4 *= j
        j += 1
    sum3 += sum4
    i += 1
print(sum3)

# import math

# aaa = -1 
# for i in range(11):
#     print(i)
#     aaa += math.factorial(i)
# print(aaa)

while True:
    inp = input("请输入数字(1-7):")
    if inp.isdigit() == True:
        if 6 <= int(inp) <= 7:
            print("周末愉快!")
            break
        elif 1 <= int(inp) <= 5:
            print("工作日愉快!")
            break
        else:
            print("请输入位于1~7之间的数.")
    else:
        print("请输入位于1~7之间的数.")

a1 = 0
a2 = 1
lst = [0,1]

list_index_input = input("请输入下标:")
list_index = int(list_index_input)
if list_index <= 1:
    value_list_index = lst[list_index]
else:
    for i in range(2,list_index + 1):
        lst.append(lst[i - 1] + lst[i - 2])
    value_list_index = lst[list_index]
print(value_list_index)

#--------------------------------------------------------

import random

luckly_number = random.randint(0,10)
print(luckly_number)

i = 0
while i < 3:
    guess_number = input("猜一猜,数字是多少(0~10):")
    if i == 2:
        if guess_number.isdigit() == True:
            if int(guess_number) == luckly_number:
                print("猜测结果正确!")
                i += 1
            else:
                print("都没猜对,继续努力!")
                i += 1

    if i < 2:
        if guess_number.isdigit() == True:
            if int(guess_number) > luckly_number:
                print("猜测的结果大了!")
                i += 1
            elif int(guess_number) < luckly_number:
                print("猜测的结果小了!")
                i += 1
            else:
                print("猜测结果正确!")
                break
#--------------------------------------------------------
line_number_input = input("请输入菱形最大行数:")
line_number = int(line_number_input)

#菱形上半部分
for i in range(line_number):
    print(" "*(line_number-i-1),end="")
    print("*"*(2*i+1))
#菱形下半部分,若要打印标准菱形,需要改成range(1,line_number)即可
for i in range(line_number):
    print(" "*i,end="")
    print("*"*(2*(line_number -i)-1))
#分享**同学推荐的center方法来实现
#通过center函数打印菱形上部分
for i in range(1,2*line_number,2):
    print(("*"*i).center(2*line_number))
#通过center函数打印菱形下部分
for i in range(2*line_number - 1, 0, -2):
    print(("*"*i).center(2*line_number))

 

posted on 2021-04-20 09:37  torotoise512  阅读(100)  评论(0)    收藏  举报