#一、输出乘法口诀表
for i in range(1,10): # i 为第二个乘数
    for j in range(1,i+1): #j为第一个乘数
        outputStr = str(j)+"*"+str(i)+"="+str(i*j) #组装字符串
        print(outputStr,end=" ") #打印字符串,且不换行
        if i == j: #当两个乘数相等时
            print("   ")

#二、请用你所熟悉的程序语言实现求一个整数数组里面两个数之和为183的所有整数对(例如:输入数组为[183,0,1,2,-184,367]
#得到结果为{(183,0),(-184,367)}
array = [183,0,1,2,-184,367]
#定义一个空集合
jihe = set()
for i in range(0,len(array)-1):
    for j in range(i+1,len(array)):
        if array[i] + array[j] == 183:
            #以元祖的方式,保存符合条件的数据对
            tup = (array[i],array[j])
            #向集合添加符合条件的数据对
            jihe.add(tup)
#输出结果
print(jihe)

#三、倒序输出乘法口诀表
i = 9
j = 9
while i >= 1:
    while j >= 1:
        outputStr= str(i)+"*"+str(j)+"="+str(i*j) #组装字符串
        print(outputStr,end=" ")#打印组装好的字符串,且不换行
        j = j - 1 #计算完一次,第二个乘数减一
        if j == 0: #当第二个乘数为0时,表示当前一行已经完成了所有乘数相乘
            i = i -1 #第一个乘数减一
            j = i #让两个乘数相等
            print("")#换行
#四、计算:1+2+...+100的和
total = 0
for i in range(1,101):
    total = total + i
print('total:',total)

#五、求:1/1 +1/3 +1/5+...+1/999的和
total = 0
for i in range(1,1000):
    if i%2 != 0: #判断分母是不是奇数
        total = total + 1/i
print("total:",total)

#六、冒泡排序,从小到大排序
array = [18,2,4,5,6,9]
for i in range(0,len(array)-1):
    for j in range(0,len(array)-1-i):
        if array[j] > array[j+1]:
            array[j],array[j+1] = array[j+1],array[j] #斐波那契数列

print(array)

#七、反向输出字符串
s = 'abcde'
#字符串切片
string = s[::-1]
print(string)