题目一:
求s=a+aa+aaa+...+aaa...aaa,其中a为一个整数,例如2+22+222+2222+22222.几个数相加由键盘控制
代码实现:
number = input('请输入您要计算的数:')
number2 = int(input('想要计算的次数:'))
sum = 0
i = 1
while i <= number2:
# 将字符翻倍i次
new_number = number * i
# 将计算出来的字符串转换为整型数据
sum = sum + int(new_number)
i +=1
print(sum)
运行结果:
请输入您要计算的数:2
想要计算的次数:5
24690
题目二
求任意两个数的最大公约数和最小公倍数
代码实现:
num1 = int(input('请输入一个整数:'))
num2 = int(input('请再输入一个整数:'))
# 取出两个数中较小的数
min_num = min((num1,num2))
list = []
# 使用for循环对使用range()函数将较小的数生成的序列进行遍历
for i in range(1,min_num + 1):
# 求得所有的能够整除num1和num2的数,并加入list中
if num1 % i == 0 and num2 % i == 0:
list.append(i)
# 使用max()函数取得list中最大的数即为最大公约数
num_max = max(list)
print(num1, '和', num2, '的最大公约数是:', num_max)
# 取得当商为最大公约数时候的除数
quot1 = num1 / num_max
quot2 = num2 / num_max
# 将得到的除数和最大公约数相乘得到最小公倍数
num_min =int(num_max * quot1 * quot2)
print('最小公倍数是:',num_min)
输出结果:
请输入一个整数:9
请再输入一个整数:24
9 和 24 的最大公约数是: 3
最小公倍数是: 72
题目三,回文数
代码实现:
num = int(input('请输入一个五位数:'))
list_num = list(str(num))
if list_num[0] == list_num[4] and list_num[1] == list_num[3]:
print('%d是回文数'% (num))
else:
print('%d不是回文数'%(num))
输出结果:
请输入一个五位数:12535
12535 不是回文数
请输入一个五位数:12321
12321 是回文数
题目四,输出九九乘法表
代码实现:
for i in range(1,10):
for j in range(1,i+1):
print('%d * % d = %2d ' %(i,j,i*j), end='')
print('')
输出结果:
1 * 1 = 1
2 * 1 = 2 2 * 2 = 4
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49
8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
题目五,打印下图所示图案
图代码实现:
str1 = input('请输入你要打印的符号:')
num = int(input('请输入你要打印的行数:'))
for i in range(1,num + 1):
print(str1 * i)
输出结果:
请输入你要打印的符号:&
请输入你要打印的行数:5
&
&&
&&&
&&&&
&&&&&
题目六,完数
代码实现:
# 将1-1000的所有整数生成一个序列
for x in range(1, 1001):
sum_x = 0
# 将将序列中的数依次进行因子的迭取
for i in range(1, x):
if x % i == 0:
sum_x += i
if x == sum_x:
print(x)
输出结果:
6
28
496
题目七,打印下图
图2
代码实现:
n = int(input('请输入要打印的行数:'))
m = input('请输入要打印的字符:')
for i in range(1, n):
print(' ' * (n-i), end='')
print('@' * (2 * i - 1))
输出结果:
请输入要打印的行数:5
请输入要打印的字符:&
@
@@@
@@@@@
@@@@@@@
网友评论