python基础练习

本文包含一系列Python编程题目,涉及字符串操作,如获取最后一个单词长度,统计字符出现次数,删除重复数字并排序,按固定长度拆分字符串,以及十六进制转十进制。同时,还介绍了找到正整数的所有质因子的方法。
摘要由CSDN通过智能技术生成

牛客华为机考练习

1、计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。

str = input()
t_str = str.split(" ")[-1]
print(len(t_str))

2、写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)

str = input().lower()
chr = input().lower()

num = 0
for i in str:
    if i == chr:
        num += 1
print(num)

# print(str.count(chr))

3、明明生成了NN个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。
数据范围: 1 \le n \le 1000 \1≤n≤1000 ,输入的数字大小满足 1 \le val \le 500 \1≤val≤500

num = int(input())
Alldata = []
for i in range(num):
    data = int(input())
    if data not in Alldata:
        Alldata.append(data)

Alldata.sort()
for j in Alldata:
    print(j)

# 可以使用set函数进行去重,set()添加 函数为add
# set() 排序可以转化为list用sort()或者用sorted()

4、输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

str = input()
# 方法一
# 使用ljust函数,用法为ljust(num,char),char默认为空格
# for i in range(0,le,8):
#     print(str[i:i+8].ljust(8,'0'))

# 方法二 
# 先添加0再输出
# if le % 8 != 0:
#     str += '0' * (8 - len(str) % 8)
# for i in range(0, len(str), 8):
#     print(str[i:i + 8])

# 方法三
# 直接输出
if len(str) < 8:
    print(str + '0'*(8 - len(str)))
else:
    while len(str) >= 8:
        print(str[0:8])
        str = (str[8:])
    if len(str) > 0:
        print(str + '0'*(8 - len(str)) )
        

5、写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。

num = int(input(),16)
print(num)

# 进制转换  bin  oct  int  hex   统一模式为:函数(int(num,2/8/10/16))

---------------------------------DAY1----------------------------------------

6、功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )

from math import sqrt
num = int(input())
lis = []
if num==1:
    print(num)
else:
    for i in range(2,int(sqrt(num))+1):
        while num % i == 0:
            print(i,end=" ")
            num = num // i
if num > 2:         #  这一步非常关键,在于取到最后一位数
    print(num)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值