Python(4)——基本数据类型

从尾到头

编程题
从键盘输入一个小于 500 的三位整数,将这个整数乘 2 得到一个新的数,将这个新的数从尾到头倒叙输出。
例如:输入123则输出642。

# 从键盘输入一个三位数
num = int(input('输入一个三位整数:'))

# 将其乘 2 后倒叙输出
num *= 2
def inverse_num(num):
    '''
    逆序输出一个数字
    '''
    if num > 99999999:
        return 0 
    elif num == 0:
        return 0
    else:
        if num > 0:
            flag = True
        else:
            flag=False 
            num *= -1
        num_list = list(str(num))
        while num_list[-1] == '0':
            num_list.pop()
        tmp = ''.join(num_list[::-1])
        if flag:
            return tmp 
        else:
            return '-' + tmp

print(inverse_num(num))

抹零

编程题
现有小区停车收费规则如下,每小时收 1 元,1 小时内免费,不足一小时按 1 小时算。

请编程实现:输入停车时长,计算并输出所需要收取的停车费。例如,从键盘输入1.5,则输出所需要缴纳的停车费1。

# 请输入停车时长
hour = float(input('请输入停车时长(小时):'))

# 请计算需要收取的停车费
if hour < 1:
    print('收费0元')
else:
    print('收费{:.2f}元'.format(int(hour)))

实现加密器

编程题
请用程序实现
输入一个整数num,将输入的数字进行加密,并将加密后的结果输出。

以下为加密的规则:

加密结果 = (整数 * 10 + 5) / 2 + 3.14159
加密结果仍为一整数

# 请使用 input() 输入一个整数 num
num = int(input('请输入一个整数:'))

# 请对数字 num 进行加密,并将加密结果输出
num = int((num * 10 + 5) / 2 +3.14159)
print(num)

判断奇偶数

编程题
请用程序实现: 输入一个整数,判断它是奇数还是偶数。如果是奇数,输出odd;如果是偶数,输出even。

# 请使用 input() 输入一个整数 num
num = int(input('请输入一个整数:'))

# 请判断这个数是奇数还是偶数
if num % 2 != 0:
    print('odd')
else:
    print('even')

公倍数

编程题
请用程序实现
输入一个正整数,判断它是否是5和7的公倍数。如果是,输出yes;如果不是,输出no。

# 请使用 input() 输入一个正整数
num = int(input('请输入一个整数:'))

# 请判断这个正整数是否是 5 和 7 的公倍数
if num % (5 * 7) == 0:
    print('yes')
else:
    print('no')

天天向上的力量第一问

编程题
请用程序实现
计算千分之一的力量。

要求如下:

(1) 计算一年 365 天,每天进步千分之一,累计进步到多少,并将计算结果输出。

(2) 计算一年 365 天,每天退步千分之一,累计剩下多少,并将计算结果输出。

(3) 输出时,在一行内输出进步的结果和退步的结果。

dayup = 1
daydown = 1
daystep = 0.001
for i in range(365):
    dayup = dayup * (1 + daystep)
for i in range(365):
    daydown = daydown * (1 - daystep)
print('向上:{:.2f}'.format(dayup),end=' ')
print('向下:{:.2f}'.format(daydown),)

天天向上的力量第二问

编程题
请用程序实现
计算千分之五和百分之一的力量。

要求如下:

(1) 计算一年 365 天,每天进步千分之五或百分之一,累计进步到多少,并将计算结果输出。

(2) 计算一年 365 天,每天退步千分之五或百分之一,累计剩下多少,并将计算结果输出。

(3) 输出时,在一行内输出进步的结果和退步的结果。

dayup1 = 1
dayup2 = 1
daydown1 = 1
daydown2 = 1
daystep1 = 0.005
daystep2 = 0.01
for i in range(365):
    dayup1 = dayup1 * (1 + daystep1)
for i in range(365):
    dayup2 = dayup2 * (1 + daystep2)
for i in range(365):
    daydown1 = daydown2 * (1 - daystep1)
for i in range(365):
    daydown2 = daydown2 * (1 - daystep2)
print('向上:{:.2f}'.format(dayup1),end='  ')
print('{:.2f}'.format(dayup2),end='  ')
print('向下:{:.2f}'.format(daydown1),end='  ')
print('{:.2f}'.format(daydown2))

天天向上的力量第三问

编程题
请用程序实现
工作日的力量。

要求如下:

(1) 一年 365 天,一周 5 个工作日,每天进步 1%;

(2) 一年 365 天,一周 2 个休息日,每天退步 1%;

(3) 计算按照工作日和休息日的进步或退步情况,经过一年 365 天后,累计剩下多少,并将计算结果输出。

(4) 输出时,在一行内输出计算的结果。

dayup = 1
daystep = 0.01
for i in range(365):
    if i % 7 in [6,0]:
        dayup = dayup * (1 - daystep)
    else:
        dayup = dayup * (1 + daystep)
print('{:.2f}'.format(dayup))

天天向上的力量第四问

编程题
工作日模式要努力到什么水平,才能与每天努力进步 1% 一样?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

A君: 一年 365 天,每天进步 1%,不停歇,365天之后,达到37.78 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬

B君: 一年 365 天,每周工作 5 天休息 2 天,休息日每天退步 1%,那么工作日应该多努力才能追上A君呢?

请用程序实现
计算要使 B君 和 A君 一年后的进步程度一样,那么 B君 每天需要进步的值,并将计算结果输出。

要求如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(1) ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬一年 365 天,以第 0 天的能力值为基数,记为 1.0;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(2) ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬当好好学习时,能力值相比前一天提高 1%;当没有学习时,由于遗忘等原因能力值相比前一天下降 1%;

(3) 输出保留小数点后三位,冒号后有一个空格。如:工作日的努力参数是: 0.019。

def dayUp(daystep):
    dayup = 1
    for i in range(365):
        if i % 7 in [6,0]:
            dayup = dayup * (1 - 0.01)
        else:
            dayup = dayup * (1 + daystep)
    return dayup

daystep = 0.01
while dayUp(daystep) < 37.78:
    daystep += 0.001

print('工作日的努力参数是:{:.3f}'.format(daystep))

删除字符

编程题
请用程序实现
删除预置代码中字符串string中的一部分。

要求如下:

(1) 分两行输入两个整数,第一个整数表示字符串 string 的索引 begin,第二个整数表示需要删除的长度 length。

(2) 将字符串 string 中,从索引 begin 开始,长为 length 的子字符串删除。

(3) 输出字符串 string 删除后剩下的部分。

string = 'abcdefghijklmnopqrstuvwxyz'

# 请使用 input() 输入索引 begin 和长度 length
begin = int(input('输入索引:'))
length = int(input('输入要删除的长度:'))

# 请将字符串 string 中,从索引 begin 开始,长为 length 的字符串删除,并将剩下的字符串内容输出
for i in range(len(string)):
    if (i < begin or i > length + begin - 1):
        sub_str = string[i]
        print(sub_str,end='')

插入字符

编程题
请用程序实现
已知字符串 s ,请将另一个字符串 sub 添加到字符串 s 的指定索引位置中,并将添加后的 s 输出。

s = 'abcdefghijklmnopqrstuvwxyz'
sub = input('请输入要添加的字符串:')
index = int(input('请输入要添加的位置的索引:'))
s_list = list(s)
s_list.insert(index, sub)
s = ''.join(s_list)
print(s)

你中无我

编程题
请用程序实现
给定两个字符串 s1, s2,删除字符串 s1 中的属于 s2 的字符,并输出结果。

s1 = input('')
s2 = input('')
for i in range(len(s1)):
    str = s1[i].strip(s2)
    print(str,end='')
    

拼接最大字符

编程题
请用程序实现
输入两个长度相等的字符串,将两字符串中相同索引中较大的字符组成一个新的字符串并输出,使用 ASCII 码来比较字符大小。

注:如 ASCII 码相等,任选 1 个

输入格式
在两行中分别输入两个字符串,长度相等

输出格式
在一行中输出结果字符串

# 请使用 input() 输入两个字符串 string1, string2
string1 = input('')
string2 = input('')

# 请分别比较两个字符串中的每一个字符,将大的字符拼接成一个新的字符串,并输出
for i in range(len(string1)):
    str = ''
    if string1[i] > string2[i]:
        str = str.join(string1[i])
    else:
        str = str.join(string2[i])
    print(str,end='')
        

单词转换

编程题
请用程序实现:输入一段英文文本 text,将文本中的单词分别按照 全部小写、全部大写 和 标题化 格式输出。

提示:使用字符串的内建函数。

运行你的程序,使控制台显示如下内容:

请输入一段文本: Beautiful is better than ugl.
全部小写: beautiful is better than ugl.
全部大写: BEAUTIFUL IS BETTER THAN UGL.
标题化: Beautiful Is Better Than Ugl.

# 请使用 input() 输入一段文本 text
text = input('')

# 请将文本中的单词分别按照 全部小写、全部大写 和 标题化 格式输出
print("全部小写:",text.lower())
print("全部大写:",text.upper())
print("标题化:",text.title())

统计词量

编程题
请用程序实现
输入一段仅由英文字母、空格组成的文本,并通过split()方法统计这段文本中的单词数量,并将统计结果输出。

# 请使用 input() 输入一断文本 text
text = input('')

# 请统计这段文本中的单词数量,并将统计结果输出
num = len(text.split())
print(num)

回文字符串

编程题
如果一个字符串从左往右读与从右往左读是相同的字符串,那么这个字符串就是回文字符串。如 “level”、"noon"都是回文字符串。

请用程序实现
输入一个字符串,判断它是否为回文字符串。如果是回文字符串,输出yes;如果不是回文字符串,输出no。

str = input('')

length = int(len(str)/2)
flag = True
for i in range(length):
    if str[i] != str[len(str) -1 - i]:
        flag = False
if flag:
    print('yes')
else:
    print('no')

过滤敏感字符

编程题
请用程序实现:输入一段英文文本 text,将其中出现的敏感词改为***(三个星号),并将更改后的内容输出。

注意:敏感字符包括 “fuck”、“shit”、“bitch”,其他的暂不考虑。

运行你的程序,使控制台显示如下内容:

请输入一段英文文本: Oh, fuck! I’ve lost my keys.
Oh, ***! I’ve lost my keys.

# 请使用 input() 输入一段英文文本 text
text = input('')

# 请将文本中出现的敏感词改为`***`,并将更改后的内容输出
text = text.replace('fuck','***')
text = text.replace('shit','***')
text = text.replace('bitch','***')
print(text)

时间格式化

编程题
请根据视频内容的讲解,获取当前时间,并将获取到的时间按照年-月-日 时:分:秒的格式打印输出。

import time
t = time.gmtime()
print(time.strftime('%Y-%m-%d %H-%M-%S',t))

文本进度条

编程题
采用字符串方式打印可以动态变化的文本进度条‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬,进度条需要能在一行中逐渐变化.

进度条

要求如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(1) 采用 sleep() 模拟一个持续的进度,获得文本进度条的变化时间;‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(2) 通过 print() 函数实现单行动态刷新,在 print() 函数中更换参数 end 的默认值为’’,每次使用 print() 函数输出时不能换行;‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(3) 要能回退:打印后光标到之前的位置\r。

请在 Windows 的命令行(cmd 或 PowerShell)或其他操作系统的命令行下执行 Python 程序,获得进度条效果。

import time
scale=50
print("执行开始".center(scale//2,"-"))
start=time.perf_counter()
for i in range(scale+1):
    a='*'*i
    b='.'*(scale-i)
    c=(i/scale)*100
    dur=time.perf_counter()-start
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')
    time.sleep(0.1)
print("\n"+"执行速度".center(scale//2,'-'))

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值