python之《中级编程问题》

一,反转一个字符串(回文检测)

1,反转一个字符串

a=input("请输入字符串:")
b = a[::-1]
print(b)

2,回文检测

a=input("请输入字符串:")
b = a[::-1]
if a==b:
    print('回文!')
else:
    print('不回文!')

二,计算最大公约数

def gys(x,y):
    '''该函数返回两个数的最大公约数'''
    #获取最小值
    if x>y:
        smaller = y
    else:
        smaller = x

    for i in range(1,smaller+1):
        if((x%i == 0)and(y%i == 0)):
            gys = i
    return gys

num1 = int(input('输入第一个数字:'))
num2 = int(input('输入第二个数字:'))

print("公约数为:",gys(num1,num2))

三,合并两个有序数组

def shuzu_sort(a,b):
    m=[]
    i=0
    j=0
    l1=len(a)-1
    l2=len(b)-1
    while i<=l1 and j<=l2:
        if a[i]<=b[j]:
            m.append(a[i])
            i+=1
        else:
            m.append(b[j])
            j+=1
    m+=a[i:]+b[j:]
    return m
a=[1,2,3,4]
b=[4,24,68]
print(shuzu_sort(a,b))

四,猜数字游戏

import random
a=random.randint(1,100)
n=input("请输入一个数字:")
if n.isdigit():
    n=int(n)
    if n==a:
        print("恭喜!猜对了!")
    elif n>a:
        print("猜的数字太大了!")
    else:
        print("猜的数字太小了!")
else:
    print("你输入的不是整数,请重新输入!")

五,删除列表中的重复项

a = [1,2,3,4,5,2,4,1,7,8]
b=[]
for each in a:
    if each not in b:
        b.append(each)
print(b)

 

你可能感兴趣的:(python从入门到精通)