赞
踩
写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )
输入描述:
输入一个十六进制的数值字符串。
输出描述:
输出该数值的十进制字符串。
输入例子1:
0xA
输出例子1:
10
# 进制转换
string=input()
list="0123456789ABCDEF"
sum=0
for i in range(2,len(string)):
for j in range(len(list)):
if string[i]==list[j]:
sum=sum+j*pow(16,len(string)-1-i)
print(sum)
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。
输入描述:
输入多行,先输入随机整数的个数,再输入相应个数的整数
输出描述:
返回多行,处理后的结果
输入例子1:
11
10
20
40
32
67
40
20
89
300
400
15
输出例子1:
10
15
20
32
40
67
89
300
400
# 数字去重排序
n=eval(input())
s=set()
for i in range(n):
s.add(eval(input()))
s=sorted(s)
for i in range(len(s)):
print(s[i])
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?
输入描述:
输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=100),表示小张手上的空汽水瓶数。n=0表示输入结束,你的程序不应当处理这一行。
输出描述:
对于每组测试数据,输出一行,表示最多可以喝的汽水瓶数。如果一瓶也喝不到,输出0。
输入例子1:
3
10
81
0
输出例子1:
1
5
40
# 空瓶子换水 def pingzi(x,s): sum=s if x==1 or x==0: sum=sum return sum elif x==2 or x==3: sum=sum+1 return sum else: sum=sum+x//3 #第一次喝的瓶数 x=x//3+x%3 #第一次喝完的瓶子和剩下的瓶子数量 return pingzi(x,sum) ls=[] while True: num=eval(input()) if num!=0: ls.append(num) else: break for x in ls: sum=0 print(pingzi(x,sum))
题目描述
输入一个字符串,求出该字符串包含的字符集合
输入描述:
每组数据输入一个字符串,字符串最大长度为100,且只包含字母,不可能为空串,区分大小写。
输出描述:
每组数据一行,按字符串原有的字符顺序,输出字符集合,即重复出现并靠后的字母不输出。
输入例子:
abcqweracb
输出例子:
abcqwer
s=input()
s1=[]
for i in s:
flag=1
for j in s1:
if i==j:
flag=0
if flag==1:
s1.append(i)
for i in s1:
print("{}".format(i),end="")
老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩.
输入描述:
输入包括多组测试数据。
每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。
学生ID编号从1编到N。
第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩
接下来又M行,每一行有一个字符C(只取‘Q’或‘U’),和两个正整数A,B,当C为’Q’的时候, 表示这是一条询问操作,他询问ID从A到B(包括A,B)的学生当中,成绩最高的是多少
当C为‘U’的时候,表示这是一条更新操作,要求把ID为A的学生的成绩更改为B。
输出描述:
对于每一次询问操作,在一行里面输出最高成绩.
输入例子:
5 7
1 2 3 4 5
Q 1 5
U 3 6
Q 3 4
Q 4 5
U 4 5
U 2 9
Q 1 5
输出例子:
5
6
5
9
def maxscore(ls,beg,en): max=int(ls[beg]) for i in ls[beg:en+1]: if max<int(i): max=int(i) return max def upgrade(ls,A,B): ls[A]=B return ls #取出N,M N_M=input() N_M=N_M.split(" ") N,M=int(N_M[0]),int(N_M[1]) #取出学生成绩 stu=input() stu=stu.split(" ") # 数据查询及更新 for x in range(M): string=input() string=string.split(" ") if string[0]=="Q": print(maxscore(stu,int(string[1]),int(string[2]))) else: ls=upgrade(stu,int(string[1]),int(string[2]))
排序的稳定性是指排序前相等的数字的位置,如果排序后的位置保持不变,则称其为稳定的。数据的稳定性处理是指处理之后的数据仍然保持原来的位置不变。
题目:
在编程中经常会遇到对数组元素进行交换,当交换并处理后,需要按原始位置输出时,可以使用结构体来简化编程。例如,对一组整数的最大元素加上次大元素的值,次大元素加上第三大元素的值,第三大元素加上第四大元素的值……最小元素加0,依次对每一个元素进行处理,处理完成后按照原始数组的元素位置输出处理结果。
分析:使用类创建结构体,使用列表创建结构体数组。稳定性排序与idx有关。
class mydata(): def __init__(self): pass def struct(self,value,idx): self.value=value self.idx=idx #输入的数字个数 n=eval(input()) # 输入数字大小 struct=[] for i in range(n): struct.append(mydata()) str_input=input() str_input=str_input.split(" ") for i in range(n): struct[i].value=eval(str_input[i]) struct[i].idx=i # 数字处理 for i in range(n): for j in range(0,n-1-i): if struct[j].value<struct[j+1].value: struct[j],struct[j+1]=struct[j+1],struct[j] for i in range(n): if i<n-1: struct[i].value=struct[i].value+struct[i+1].value else: pass for i in range(n): for j in range(n): if i!=struct[j].idx: continue else: print("{}".format(struct[j].value),end=" ") break
2015年华为机考题第一题:
按要求分解字符串,输入两个数M,N;M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0。例如:输入2,8, “abc” ,“123456789”,则输出为“abc00000”,“12345678“,”90000000”
### 字符串截断处理 ## 截断处理 def jieduan(string,N): if len(string)<=N: string=string+'0'*(N-len(string)) print(string) else: print(string[0:8]) return jieduan(string[8:],N) # 输入M,N M=eval(input()) N=eval(input()) str1=[] for i in range(M): str1.append(input()) for i in range(M): jieduan(str1[i],N)
题目描述:
输入一个正整数X,在下面的等式左边的数字之间添加+号或者-号,使得等式成立。
1 2 3 4 5 6 7 8 9 = X
比如:
12-34+5-67+89 = 5
1+23+4-5+6-7-8-9 = 5
请编写程序,统计满足输入整数的所有整数个数。
输入: 正整数,等式右边的数字
输出: 使该等式成立的个数
样例输入:5
样例输出:21
x=eval(input()) str1="1 2 3 4 5 6 7 8 9" str2=" +-" cnt=0 for i1 in str2: for i3 in str2: for i5 in str2: for i7 in str2: for i9 in str2: for i11 in str2: for i13 in str2: for i15 in str2: str1=str1[0]+i1+str1[2]+i3+str1[4]+i5+str1[6]+i7+str1[8]+i9+str1[10]+i11+str1[12]+i13+str1[14]+i15+str1[16] str3="" for i in str1: if i!=" ": str3=str3+i if eval(str3)==x: cnt+=1 print("{} = {}".format(str3,x)) print(cnt)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。