其他分享
首页 > 其他分享> > 实践周刷题1

实践周刷题1

作者:互联网

错题笔记:
1.
1002 写出这个数
在这里插入图片描述

n = int(input())
str1 = str(n)
s = 0
for i in range(len(str1)+1):
    a = n%10
    s += a
    n = n//10
str2 = str(s)
list1 = list(str2)
list2 = []
dict = {'0':'ling','1':'yi','2':'er','3':'san','4':'si','5':'wu','6':'liu','7':'qi','8':'ba','9':'jiu'}
for j in range(len(list1)):
    if list1[j] not in dict:	#A
        print("Not exist")		#B
    else:
        list2.append(dict[list1[j]])
str3 = ' '
print(str3.join(list2))

1)创建字典时,为了防止字典无指定关键字报错,可以加上A,B两行代码。

2)用除法一定要取整,否则会有很长的小数,这样在测试时就会报错,因为字典没有小数点的关键字,所以有1)。

3)join函数只能和列表使用,而且str3(间隔符)和list(待操作列表)的位置别搞反了。

1003 我要通过!
在这里插入图片描述

写一个判断函数,首先要定位“P”和“T”的位置,然后把P前面的“A”,P和T之间的“A”,T后面的“A”分别放进列表,根据条件返回0和1。

1004 成绩排名
在这里插入图片描述

for i in range(n):
    a,b,str1 = map(str,input().split())
    c = int(str1)
    list1.append(a)
    list2.append(b)
    list3.append(c)
max = list3[0]
min = list3[0]
for i in range(1,len(list3)):
    if(list3[i]>max):
        max = list3[i]
d = list3.index(max)
for i in range(1,len(list3)):
    if(list3[i]<min):
        min = list3[i]
e = list3.index(min)
print(list1[d],list2[d],sep=' ')
print(list1[e],list2[e],sep=' ')

1)输入字符串时,可以直接像列表一样,对指定的字符进行比较,例如:

n = input()
if(n[1] == '1'):
    print("答案正确")

2)快速生成有序列表,如:

list2 = [1, 2, 3, 4, 5, 6, 7 ]
print( "list2[1:5]: ", list2[1:5])
#输出list2[1:5]:  [2, 3, 4, 5]

[1,5]中1,5表示索引,且不包含索引5对应元素。

3)sep是连接输出元素的字符。

4)思路:把名字放进一个列表,把学号放进一个列表,把成绩放进一个列表,判断成绩列表中最大最小对应的索引,再对应输出名字列表和学号列表。

异或运算:
相同的数字异或的结果是0:2^2=0
和0异或是本身:0^2=2


def one_number(alist):
    '''一个数组中只有1个数字出现1次,其余都出现偶数次'''
    a=0
    for i in alist:
        a^=i
    return a

标签:list1,实践,list3,列表,range,周刷题,list2,append
来源: https://blog.csdn.net/luozhixu5201314/article/details/118427592