2019-04-18提高作业

1.不断从控制台输入年龄,根据年龄输出不同的提示(例如:老年人,青壮年,成年人,未成年,儿童)输入‘q’,就退出

while True:
    value = input('请输入年龄,输入‘q’,就退出:\n')
    if value == 'q':
        break
    age = int(value)
    if age <= 12:
        print('ET')
    elif age < 18:
        print('WCN')
    elif age < 50:
        print('CNR')
    else:
        print('LNR')

2、计算5的阶乘

方法一:
n = 5
sum1 = 1                #在求和中sum初始值=0,求积中sum初始值=1
for i in range(2,n+1):  #(2,n+1)这样可以使CPU少运算一次。但是当n取1,会出新问题。
    sum1 *= i
print(sum1)
方法二:
n = 5 
summation = 1
for i in range(5,1,-1):     
    summation *= i
print(summation)

3、求1+2!+3!+...+20!的和

思路:
1、先分别取出1~20
2、求每次取出的数的阶乘

add = 0
n = 5 
for num in range(1,n+1):
    sum2 = 1                    
#计算每个数的阶乘,需置1,且在循环内可以保证每个数阶乘初始值为1
    for i in range(1,num+1):
        sum2 *= i
    add += sum2
print(add)

5、循环输入大于0的数字进行累加,直到输入的数字为0,就结束循环,并最后输出累加的结果。

sum1 = 0
while True:
    value = int(input('enter a number:\n'))
    if value == 0:
        break
    sum1 += value
print(sum1)

6、随机产生一个数字:用户不断输入一个数字,直到输入数字与随机数字匹配。游戏就结束。游戏过程中,根据输入的数字,做出相应提示,是大了还是小了.并提示尝试的次数。

import random
count = 0
while True:
    value = random.randint(0,100)
    while True:
        value1 = input("enter a number or enter 'q' to quit:\n")
        if value1 == 'q':
            print('Game Over\n')
            break
        if int(value1) == value:
            count += 1
            print("Congratulations u've got it.\n")
            print("u've tried for ",count,'times.')
            break
        elif int(value1) > value:
            print('Sorry,bigger.\n')
        else:
            print('Sorry,lower.\n')
        count += 1

7、求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

while True:
    n = int(input('enter a number:'))
    f = int(input('enter a frequency:'))
    summation = 0
    num = 0
    for i in range(1,f+1):
        num = num*10 + n
        print('第',i,'个数字是',num)
        summation += num
    print('这串数字的和是:',summation)

思路分析:
1、f(frequency)可以确定相加的次数。
2、用num取存储每一个加数。
3、每一个加数的计算方法。


8、控制台输出三角形

a.根据n的值的不同,输出相应的形状

n = 5
for i in range(n,0,-1):
    for _ in range(i):
        print('*',end='')
    print()

b.根据n的值的不同,输出相应的形状(n为奇数)

while True:
    n = int(input('enter a number u want:'))    
#这里是对每一行星星数量的处理,很巧妙可以学习。
    for star in range(1,n+1,2):
#这里是根据星星数量进行空格巧妙处理的方式。
        space = int((n - star)/2)
        for i in range(space):
            print(' ',end= '')
        for _ in range(star):
            print('*',end='')
        print()

9、输出9*9口诀。 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

for i in range(1,10):
    for j in range(1,10):
        product = i*j
        if j>i:
            break
        print(i,'X',j,'=',product,end='|')
    print()

这其中,print函数里面end和sep的用法要清楚,方便进行输出线束。

你可能感兴趣的:(2019-04-18提高作业)