Python基础题小练

1.编写代码,完成以下要求:
(1)、建立一个名为me的列表,包括姓名、性别、年龄、籍贯,打印me的第一项和第四项的元素
(2)、在me最后添加出生年月
(3)、删除籍贯
(4)、用in查看籍贯是否在me中

1)  
    me = [‘Cui’, ’Man’,20, ‘Sanxi’]
    print (me[0],me[3])2)
    me.append(1970-1-1)3del me[3]4)
    ‘Sanxi’ in me

2.写一段脚本,接受用户输入一个整数、假设是y,输出一个列表,列表元素包括:y,y2,y3,y5

y=input('请输入一个整数: ')
yy=eval(y)
print ([yy,yy**2,yy**3,yy**5])

3.小易喜欢的单词具有以下特性:单词首字符都是大写字母,单词没有连续相等的字母,编写函数,输入一个单词,判断是否小易喜欢这个单词

s = input("请输入一个单词:")
start = s[0].isupper()  #获取到第一个字母,判断他是不是大写
if start:
    for i in range(len(s)) :   #在该单词的长度内遍历
        if s[i] == s[i-1]:    #判断相邻字母相等
            flag = "n"     #定义flag = "n"进行标记
            break
        else:
            flag = "l"
    if flag != "n" or len(s)==1 :
        print("喜欢")
    else :
        print("不喜欢")
else:                    #该单词首字母是大写字母
    print('不喜欢')

4.接受用户输入,如果不是字符串就不断要求输入,直到遇到字符串,然后输出问候信息并退出程序

while True:
    s = input('请输入字符串: ')
    if not s.isdigit():
        print("您输入的字符串为:%s" % s)
        break
    print("注意:请输入一个字符串")

5.输出九九乘法表

j = 1
while j <= 9:
     i = 1
     while i <= j:
          print(f'{j} * {i} = {j * i}',end = '\t')
          i += 1
     print()
     j += 1

6.输入1-100之间不能被7整除的数,每行输出10个数字,要求应用字符串格式化方法(任何一种都可以)美化输出格式

j=0
for i in range(101):  #循环
    if i>0 and i % 7 == 0: #如果能整除7,则再执行循环
        continue
    elif i>0:    #如果大于0并且不能被7整除,输出;
        print("{:3d}".format(i), end=' ')
        j += 1   #j用来控制每行输出是否是10if j % 10 == 0:
            print('\n')
            j = 0
    else:
       continue

7.打印三角形
(1)打印等腰三角形
(2)打印倒等腰三角形

1)
m = input('请输入一个数字,我来为你打印一个等腰三角形')
n = int(m)           #接收输入为字符串需要先转换成整数
for i in range(1,n+1):  #外层循环为行数,因为Python是从0开始,这里为了好理解从1开始循环
    for j in range(n-i):       #内部第一个for循环打印空格
        print(' ',end='')
    for i in range(2*i-1):       #内部第二个循环打印*print("*",end='')
    print()2import sys

while True:
    n = input('请输入打印几行的倒等腰三角形:')
    # 若输入为空则退出程序
    if n != "":
        if n.isdigit() and int(n) <= 20:
            # 是数字并小于20,执行以下操作
            n = int(n)
            count = n    # 计算空格
            while n:
                print((count - n) * " ",end="")
                print((2 * n - 1) * "#")
                n -= 1
        else:
            print("输入不合法,请重新输入!")
    else:
        sys.exit()

8.构建一个字典D,其中key中的元素为键,val中相应位置的元素为值 key=[‘a’,’b’,’c’],val=[1,2,3]

keys = ['a','b','c']
vals=[1,2,3]
dict1 = {
    
    keys[i] : vals[i] for i in range(len(keys))}
print(dict1)

9.将一个单词列表映射为一个代表了单词长度的整数列表,尝试使用下面三种方式实现:
(1)map函数
(2)解析
(3)for循环

1)
list1 = ['ab','abc','abcd']

      def func(x):
         return len(x)

      result = map(func,list1)
      print(list(result))2)
    list1 = ['ab','abc','abcd']
list2 = [len(x) for x in list1]
print(list2)3)
list1 = ['ac','ert' ,'erbshhh']
list2 = []
for i in list1:
  l = len(i)
  list2.append(l)
print(list2)

10.定义一个函数:输入一个值(可以为字符串或者数字等)和一个列表,判断这个输入的值是否在列表中如果在返回True,否则返回False

def is_member(x,y):
  return x in y

result = is_member(8,[5,6,7])
print(result)

11.编写一个函数:输入两个列表,如果两个列表中有公共元素返回True,否则返回False

def isList(list1,list2):
    for i in list1:
        if i in list2:
            return True
            break
    return False

result = isList([1,2,6],[3,4,5])
print(result)

12.Fibonacci数列特点为:数列的前两项为0和1,后面的每一项等于前两项的和,定义函数fib(n)计算每一项.定义函数fibb(n)打印Fibonacci数列最大项的上限为n,
运行结果形为:1 1 2 3 5 8 13 21 34 55 89 ……

def fib(n):
    a, b = 0, 1
    L = []
    L.append(a)
    while b < n:
        L.append(b)
        a, b = b, a + b
    print(L)

fib(200)

猜你喜欢

转载自blog.csdn.net/weixin_46090266/article/details/110954596