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的用法要清楚,方便进行输出线束。