寫出一個程序,接受一個十六進制的數值字符串,輸出該數值的十進制字符串。(多組同時輸入 )web
輸入描述:
輸入一個十六進制的數值字符串。編程
輸出描述:
輸出該數值的十進制字符串。數組
輸入例子1:
0xAapp
輸出例子1:
10svg
# 進制轉換 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),對於其中重複的數字,只保留一個,把其他相同的數去掉,不一樣的數對應着不一樣的學生的學號。而後再把這些數從小到大排序,按照排好的順序去找同窗作調查。請你協助明明完成「去重」與「排序」的工做。測試
輸入描述:
輸入多行,先輸入隨機整數的個數,再輸入相應個數的整數code
輸出描述:
返回多行,處理後的結果orm
輸入例子1:
11
10
20
40
32
67
40
20
89
300
400
15xml
輸出例子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)