Python作业练习题【七】【基础语言】

Day16(Python作业)

(Python作业来自qq群:651707058,欢迎任何程度的Python学习者)

题一:
给你一段英文,要求按单词反向
例如:’this is a test’
输出:’test a is this’

def words_convert(s):
    '''
    :param s:传入的英文句子 
    :return: 反向好的英文句子
    '''
    s1=s.split()
    return ' '.join(s1[-1::-1])
print(words_convert('this is a test'))

题二:
给你一个字典:
t={‘year’:’2013’,’month’:’9’,’day’:’30’,’hour’:’16’,’minute’:’45’,’second’:’2’}
请按这样的格式输出:2013-09-30 16:45:02

def data_to_str(d):
    '''
    :param d: 日期字典
    :return: str 格式化后的日期
    '''

    s1='{} {:>02} {:>02}'.format(t['year'],t['month'],t['day'])
    s2='{} {:>02} {:>02}'.format(t['hour'],t['minute'],t['second'])
    print(s1,s2)
    print('-'.join(s1.split()),end=' ')
    print(':'.join(s2.split()))

t={'year':'2013','month':'9','day':'30','hour':'16','minute':'45','second':'2'}
print(data_to_str(t))

注意:可查看format用法https://blog.csdn.net/qq_42849332/article/details/82153807

题三:给你一个这样的字符串:k1:1|k2:2|k12:345|k789:9527
要求转换成这样的字典{‘K1’:1,’k2’:2,’k12’:345,’k789’:9527}

import re
def str_to_dict(s):
    '''
    :param s:字符串
    :return: dict 转换成的字典
    '''
    D={}
    s1=s.split('|')
    for i in s1:
        D[i.split(':')[0]]=i.split(':')[1]
    return D
s='k1:1|k2:2|k12:345|k789:9527'
print(str_to_dict(s))

#正则表达式
import re
str1 = 'k:1|k2:2|k3:3|k4:4'
res= re.findall(r'k\d*:\d*',str1)
print(res)
res_dict = {s[:s.index(':')]:int(s[s.index(':')+1:]) for s in res}
print(res_dict)

题四:
你有一些号码,你正试图找到最近的平方数(一个完美的正方形)。平方数是平方根为整数的数字。
例如,如果我们从数字8开始,那么附近的两个平方数是4(sqrt(4) = 2)和9 (sqrt(9)==3)
所以答案是9,因为9是最接近8的。

import math
def nearest_num(num):
    '''
    :param num: 数字 
    :return: res 最接近的平方数
    '''
    s=math.floor(math.sqrt(int(num)))
    x=math.fabs(s**2-num)
    y=math.fabs((s+1)**2-num)
    if x>y:
        return (s+1)**2
    else:
        return s**2
print(nearest_num(123))

题五:画“口”

from turtle import *
speed(0)#控制运行速度
def pen_skip(step):
    '悬浮移动'
    penup()
    forward(step)
    pendown()
def kou(long):
    for i in range(4):
        forward(long)
        left(90)

for i in range(1,41):
    kou(10)
    if i %10 == 0:
        pen_skip(10)
        left(90)
    pen_skip(15)
exitonclick()

运行结果:
这里写图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值