python 字符串及函数练习 -(二)

1.输入一行字符,统计其中有多少个单词,每两个单词之间以空格隔开,并将输入字符按首字母大写居中,每个单词首字母大写左对齐,全小写, 全大写右对齐的方式分别输出。
如输入: This is a c++ program. 输出:There are 5 words in the line.

a = input()
b = a.split(' ' ) num = len(b)
print(" There are % d words in the line" %(num)) print(" 首字母大写:",a.capitalize().center(50,"* "))
print(" 每个单词首字母大写:" ,a.title().ljust(50,"*"))
print(" 全小写:",a.lower().rjust(50,"*"))
print(" 全大写:",a.upper().rjust(50,"*"))

2.写代码,有如下变量,请按照要求实现每个功能
name=" aleX "
a.移除 name 变量对应的值两边的空格,并输入移除后的内容

b.请输出 name 变量对应的值的前 3 个字符?

c. 将 name 变量对应的值分别变大写和小写,并输出结果

d. 请输出 name 变量对应的值的第 2 个字符?

e. 请输出 name 变量对应的值中 “e” 所在索引位置?

name=" aleX "
a=name.strip()
print("去除空格:"+a)

b=name[0:3]
print("取前三个字符:"+b)

c1=name.upper()
c2=name.casefold()
print("小写变大写:"+c1)
print("大写变小写:"+c2)

d=name[1]
print("输出第二个字符:"+d)

e=len(name)
i=0
while i

3.输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”

  • 输入描述: 每个测试输入包含 2 个字符串

  • 输出描述: 输出删除后的字符串

  • 示例 1:

输入
They are students. aeiou
输出
Thy r stdnts.
str1 = input("请输入第一个字符:")
str2 = input("请输入第二个字符:")
str3=''
for i in str2:
    if i not in str3:
        str3+=i
for i in str3:
    str1 = str1.replace(i,'')
print(str1)

4.使用函数完成以下菜单功能: 要求菜单中的每一个功能都要实现。

5.随机生成 20 个学生的成绩(1~100);判断这 20 个学生成绩的等级(90~100 为 A,

80~90 为 B,其它为 C);

import random
def get_level(score):
    if 90 < score <=100:
        return 'A'
    elif 80 < score <=90:
        return 'B'
    else:
        return 'C'
for i in range(20):
    score = random.randint(1,100)
    print('成绩为%s,等级为%s'%(score,get_level(score)))

6.现有两个数组: A=[11,22,33] B={“aa”:1,“bb”:2,“cc”:4}按上课内容完成不定长参数函数的定义及三种不同调用方式(非解包,只解包 A,同时解包 A、B)

def test(a, b, *args, **kwargs):
    print(a)
    print(b)
    print(args)
    print(kwargs)
    return 'aa'

A = [11,22,33]
B = {'aa':1,'bb':2,'cc':4}
print('******()')
test(11,22,A,B)
print('******1')
test(11,22,A,aa = B)
print('******2')
test(11,22,*A,B)
print('******3')
test(11,22,*A,**B)

7.使用时间函数获取当前时间,按格式“%Y-%m-%d %H:%M:%S”输出。

import time   # 格式化成2016-03-20 11:45:39形式
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

8.获取 2019 年 6 月 第一个星期一,第二个星期二,第三个星期三,第四个星期五的日期。 打印结果如下图所示:

import calendar
year = int(input('请输入年份:'))
month = int(input('请输入月份:'))
#monthcalendar用法返回一个月中天数列表(不是当前月份的天数为0),按周划分,
# 为一个二维数组。包括月份开始那周的所有日期和月份结束那周的所有日期
month_day_list = calendar.monthcalendar(year,month)
print(str(year)+"年"+str(month)+"月",month_day_list)
if month_day_list[0][0] == 0:
    print(str(year)+"年第一个星期一为"+str(month)+"月",month_day_list[1][0],"日")
else:
    print(str(year)+"年第一个星期一为"+str(month)+"月",month_day_list[0][0],"日")
if month_day_list[0][1] == 0:
    print(str(year)+"年第二个星期二为"+str(month)+"月",month_day_list[2][1],"日")
else:
    print(str(year)+"年第二个星期二为"+str(month)+"月",month_day_list[1][1],"日")
if month_day_list[0][2]==0:
    print(str(year)+"年第三个星期三为"+str(month)+"月",month_day_list[3][2],"日")
else:
    print(str(year)+"年第三个星期三为"+str(month)+"月",month_day_list[2][2],"日")
if month_day_list[0][4]==0:
    print(str(year)+"年第四个星期五为"+str(month)+"月",month_day_list[4][4],"日")
else:
    print(str(year)+"年第四个星期五为"+str(month)+"月",month_day_list[3][4],"日")

9.使用 time 函数获取当前时间的年份,月份及当天属于当前的第几天,属于当月的第几 天,打印结果如下图所示:。

import time
print(" 当前时间年份",time.gmtime().tm_year)
print(" 当前时间月份",time.gmtime().tm_mon)
print(" 今天为今年的第",time.gmtime().tm_yday," 天")
print(" 今天为这月的第",time.gmtime().tm_mday," 天")

10.将日期"Sat Mar 28 22:24:24 2016"字符串转换为“2016-03-28 22:24:24”的形式显示

import time # 引入 time 模块
t = time.strptime("Sat Mar 28 22:24:24 2016", "%a %b %d %H:%M:%S %Y")
a = time.strftime("%Y-%m-%d %H:%M:%S", t)
print("原:Sat Mar 28 22:24:24 2016")
print("转换后",a)

11.打印出所有 1998~2019 年之间所有闰年的年日历,年份之间以‘-’分割线分割,分割 线宽度需要与日历宽度保持一致,且每个年份日历打印之前居中打印年份信息,具体如 下图:

import calendar
for i in range(1998,2019):
    if calendar.isleap(i):
        print((str(i)+"年日历").center(21*2+18+2*6,'-'))
        calendar.prcal(i)
        print("-"*(21*2+18+2*6+3))

12.一辆旅游车去每个村庄游玩,每经过一个村子汽油消耗去所所剩汽油的一半又一升。 这样他经过了七个村子后还剩两升油,问他出发时共加了多少油?经过 每两个村子之间消耗了多少油? (要求必须使用递归函数)
python 字符串及函数练习 -(二)_第1张图片

def transation(duck, village):
if village == 1:
    print(" 总共有" + str(duck) + " 升油") ret urn duck
else:
     duck1 = (duck + 1) * 2
     print(" 第" + str(village-1) + " 个村庄到第"+str(village)+"村庄之间消耗" + str(duck) + " 升油 ," " 剩余" + str(int(duck1 / 2 - 1)) + " 升油")
     return transation(duck1, village - 1)

transation(2, 7)

你可能感兴趣的:(python数据分析与应用,python)