day5-练习题
2018-07-20 本文已影响89人
RurouniKenshin
1题.取a=6,n为键盘控制的相加次数
n = input('please put the n:')
s = 0
a = '6'
for i in range(1,int(n)+1):
s += int(a*i)
print('the result is: %d' % (s))
2题.打印图形1
n = input('please put the n:')
print('the shape is:')
for i in range(1,int(n)+1):
str = '@'*i
print(str)
3题.打印图形2
n = input('please put the n:')
print('the shape is:')
for i in range(1,int(n)+1):
str = '@'*(2*i-1)
print(str.center(2*int(n)-1,' '))
4题.打印图形3
n = input('please put the n:')
print('the shape is:')
for i in range(1,int(n)+1):
str = '@'*(int(n)+1-i)
print(str)
5题.输入两个正整数m和n,求其最大公约数和最小公倍数。
m = input('please put the m:')
n = input('please put the n:')
count = 1
for i in range(0,int(m)):
num1 = int(m) - i
if (int(m) % num1 == 0) and (int(n) % num1 ==0):
print('the greatest common divisor of %s and %s is %d'%(m,n,num1))
break
while True:
num2 = count*int(m)
if num2 % int(n) == 0:
print('the least common multiple of %s and %s is %d'%(m,n,num2))
break
count += 1
6题.一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数
list_pn = []
for i in range(1,1001):
sum1 = 0
for x in range(1,i):
if i % x == 0:
sum1 += x
if sum1 == i:
list_pn.append(i)
print('the list of perfect number between 1 and 1000 is:',list_pn)
7题.输出9*9口诀
for x in range(1,10):
for y in range(1,x+1):
print(str(y)+'x'+str(x)+'='+str(x*y),end=' ')
print()
8题.一个5位数,判断它是不不是回文数。即12321是回文数,个位与万位相同,十位与千位相同
num = input('please put a five-digit number:')
flag = 1
for index in range(len(num)):
if num[index] != num[len(num)-1-index]:
flag = 0
break
if flag == 0:
print('%s is not a palindromic number'%(num))
else:
print('%s is a palindromic number'%(num))
9题.打印图形(菱形)
n = input('please put the n:')
print('the shape is:')
for i in range(1,int(n)+1):
str = '@'*(2*i-1)
print(str.center(2*int(n)-1,' '))
for i in range(1, int(n)):
str = '@' * (2 * (int(n)-i) - 1)
print(str.center(2 * int(n) - 1, ' '))
10.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
注:经过查阅unicode码得出的各种字符的范围
数字:48 - 57 a-z:97 - 122 A-Z:65 - 90 空格:32 类型都以字符类型为准,提供一个思路
str1 = input('please put a long string: ')
list_str = list(str1)
letter_number = 0
number_number = 0
blank_number = 0
other_number = 0
for s in list_str:
if 65 <= ord(s) <= 90 or 97 <= ord(s) <= 122:
letter_number += 1
elif ord(s) == 32:
blank_number += 1
elif 48 <= ord(s) <= 57:
number_number += 1
else:
other_number += 1
print('letter_number is %d' % (letter_number))
print('blank_number is %d' % (blank_number))
print('number_number is %d' % (number_number))
print('other_number is %d' % (other_number))