Python:华为部分机试题-Routine8

华为部分机试题目,个人纯手工解答如下(仅供参考):

#大小写转换的程序

string = input("Enter your string,and I'll show you its interchanging style:").swapcase()
print(string)
input("\nPress the enter key to quit.")


'''
def swapstr():
           str=input('enter your string:')
           swapstr=str.swapcase()
           return swapstr

print(swapstr())
'''

#1从一个输入字符串中找出重复的字符,将其按从小到大排列

a=input()
b=[]
c=[]

for i in a:
           if a.count(i) == 1:
                      b.append(i)
           elif i in c:
                      continue
           else:
                      c.append(i)


print(sorted(c))
c = sorted(c)
for i in range(-1,-len(c)-1,-1):
           print(c[i],end = " ")





#2从一个字符串中得到指定字符的个数。不区分大小写。

str1 = input("Enter a string:").lower()
str2 = input("Enter a character:").lower()
number = str1.count(str2)
print(number)




#3去重和排序

import random
num1 = []
num2 = []
N = int(input("Please enter an integer between 1 and 1000:"))
for i in range(N):
           num1.append(random.randint(1,1000))
for i in num1:
           if num1.count(i) == 1:
                      num2.append(i)
           else:
                      continue
#num2.sort(reverse = True)
num2 = sorted(num2)
print(num2)



#4按规定长度拆分字符串,不足的时候补零,空字符串不做操作。

str1 = []
str0 = input("Enter a string:")
while str0:
           if len(str0) <= 8:
                      str0 += '0'*(8-len(str0))
                      str1.append(str0)
                      break
           else:
                      str1.append(str0[:8])
                      str0 = str0[8:]
print(str1)           



#5接收一个十六进制的数值字符串,输出发字符串的十进制字符串(或相反)。


while True:
           try:
                      str = input("Enter a hex string:")
                      print(int(str,16))
           except:
                      break

while True:
           try:
                      str = int(input("Enter a integer string:"))
                      print(hex(str))
           except:
                      break


#6输入一个正整数,按从小到大的顺序输出它所有的质数因子。

num = int(input("Enter an integer:"))
num1 = []
for i in range(2,num//2 + 1):
           while num % i == 0:
                      num1.append(i)
                      num = num / i
for i in num1:
           print(i,end = " ")



#7对输入的正浮点数实现四舍五入的算法

flo = float(input("Enter a float which is bigger than 0:"))
num = int(flo)
if (flo - num)*10 >= 5:
           flo1 = num + 1
else:
           flo1 = num
print(flo1)






#9输入一个int型的整数,按照从右向左的顺序返回一个没有重复数字的新整数

num = int(input("Enter an integer:"))
num1 = []
num2 = []
num3 = 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值