day_05作业
2018-07-21 本文已影响0人
我是一只菜鳥
作业1.求s = a + aa + ... + aa..aa,其中a是一个数字(如a=5),几个数字相加由键盘输入
num = input('请输入要相加的数字(1-9):')
time = int(input('请输入有几个数字相加:'))
sum = 0
for x in range(1, time+1):
sum += int(num*x)
print(sum)
作业2.打印图形1
n = 4
@
@@
@@@
@@@@
n = 5
@
@@
@@@
@@@@
@@@@@
graph = '@'
count = int(input('请输入要打印图形的行数:'))
for x in range(1, count+1):
print(graph*x)
作业3.打印图形2
n = 3
@
@@@
@@@@@
n = 4
@
@@@
@@@@@
@@@@@@@
graph = '@'
count = int(input('请输入要打印图形的行数:'))
for x in range(1, count+1):
str1 = ' '
print(str1*(count-x+1)+graph*(2*x-1))
作业4.打印图形3
n = 3
@@@
@@
@
graph = '@'
count = int(input('请输入要打印图形的行数:'))
for x in range(1, count+1):
print(graph*(count-x+1))
作业5.输入两个数,求其最大公约数和最小公倍数
num1 = int(input('请输入第一个正整数:'))
num2 = int(input('请输入第二个正整数:'))
gcd = 1 # 最大公约数
lcm = 1 # 最小公倍数
if max(num1,num2) % min(num1,num2) == 0:
gcd = min(num1,num2)
lcm = max(num1,num2)
else:
for x in range(1, min(num1, num2) + 1):
if num1 % (min(num1, num2)+1-x) == 0 and num2 % (min(num1, num2)+1-x) == 0:
gcd = min(num1, num2)+1-x
# lcm = (min(num1, num2)+1-x) * (num1 / (min(num1, num2)+1-x)) * (num2 / (min(num1, num2)+1-x))
lcm = num1 * num2 / (gcd)
break
print('最大公约数:%d 最小公倍数:%d' % (gcd, lcm))
作业6.一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数
for x in range(1, 1000):
sum = 0
for y in range(1, x+1):
if x % y == 0 and x != y:
sum += y
if x == sum:
print('完数:%d' % x)
作业7.输出九九乘法表
for x in range(1, 10):
for y in range(1, x+1):
print('%d*%d=%d ' % (y,x,x*y), end=' ',sep='')
print()
作业8.一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
num = input('请输入一个五位数:')
if num[0] == num[4] and num[1] == num[3]:
print('%s是回文数' % num)
else:
print('%s不是回文数' % num)
作业9.打印图形(菱形)
n = 4
@
@@@
@@@@@
@@@@@@@
@@@@@
@@@
@
graph = '@'
count = int(input('请输入要打印图形的n的行数:'))
for x in range(1, 2*count):
str1 = ' '
if x <= count:
print(str1 * (count - x + 1) + graph * (2 * x - 1))
else:
print(str1 * (x - count + 1) + graph * (2 * (2 * count - x) - 1))
作业10.输一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
# 创建字母列表
letter = list(chr(i) for i in range(97, 123))
letter += list(chr(i) for i in range(65, 91))
# 创建数字列表
number = list(str(i) for i in range(10))
# 创建空格列表
space = [' ']
# 统计个数
lett = 0
num = 0
spa = 0
oth = 0
str1 = list(input('请输入一行字符:'))
for item in str1:
if item in letter:
lett += 1
elif item in number:
num += 1
elif item in space:
spa += 1
else:
oth += 1
print('字母个数:%d ,数字个数:%d ,空格个数:%d ,其它字符:%d' % (lett, num, spa, oth))