什么网站可以做试卷,关键词推广优化,怎么用手机做钓鱼软件或者网站,wordpress标题怎么改题目91
# 自动生成字符串
# a [小马,小羊,小鹿]
# b [草地上,电影院,家里]
# c [看电影,听音乐,吃晚饭]
# 随机生成三个0~2的数字,若是1,0,2 ,则输出: 小羊在草地上吃晚饭
import random
a [小马,小羊,小鹿]
b […
题目91
# 自动生成字符串# a = ['小马','小羊','小鹿']# b = ['草地上','电影院','家里']# c = ['看电影','听音乐','吃晚饭']# 随机生成三个0~2的数字,若是1,0,2 ,则输出: 小羊在草地上吃晚饭import random
a =['小马','小羊','小鹿']
b =['草地上','电影院','家里']
c =['看电影','听音乐','吃晚饭']
d =[random.randint(0,2)for _ inrange(3)]print(f'{a[d[0]]}{b[d[1]]}{c[d[2]]}')
题目92
# 保留重复项# 在一个全是字符串的列表中,保留那些只有重复相同字符的字符串。# 单个字符的字符串被认为是重复字符串# 输入# ['aa','123','444','b','xyz']# ['ann','123','4g4','de','xyz']# 第一种利用字符串*代表重复defis_repeat(string:str):return string[0]*len(string)== string# 利用set去重,如果去重后的字符串只包含原字符串的第一个字符,说明该字符串是重复字符串# 换个说法:去重后只有一个字符defis_repeat1(string:str):returnlen(set(string))==1list1 =['aa','123','444','b','xyz']
list2 =['ann','123','4g4','de','xyz']
list3=list1[:]
list4=list2[:]print(list1)print(list2)
list1 =[x for x in list1 if is_repeat(x)]
list2 =[x for x in list2 if is_repeat(x)]print(list1)print(list2)print(list3)print(list4)
list3 =[x for x in list3 if is_repeat1(x)]
list4 =[x for x in list4 if is_repeat1(x)]print(list3)print(list4)
题目93
# 给定两个值,m和n,n始终为正整数,要求返回一个最接近m的n的整倍数。如果m正好处于两个整倍数中间,则返回较大的整倍数# 输入【47,7】# 输出:49m =int(input('请输入一个数字作为m:'))
n =int(input('请输入一个数字作为n:'))# 将题目中的返回条件,换个说法,这题就简单许多(其实本身也不难)# m 一定是介于第一个比m大的n的倍数和最后一个比m小的n的倍数之间# 还有对‘中间’这个词语的理解: 某个数到另外两个数的距离相等,说明这个数在这两个数中间# 根据举例的说法来看,题目中的‘中间’,应该解释为之间。42 47 49, 好了不咬文嚼字,就这样吧。# 第一种:缺点:在m比n大很多的时候,前面浪费一定的时间
each =1whileTrue:if each * n > m:print(each*n)breakeach +=1# 第二种:是为了解决上一种的缺点来的
each =1whileTrue:ifnot(m + each)% n:print(m+each)breakeach +=1
题目94
# 出现顺序比较# 给出一个全部为小写字母的字符串,并给出两个一定存在的字母a和b.当字母a在字符串中最后一次出现的位置比b第一次出现的位置还要靠前时# 返回True否则返回False# 获取index 使用index# index 返回最小的index, 意思就是第一次出现的# rindex 返回最大的index, 意思就是最后一次出现str1 ='zheng zai xue xi python ni xin bu'print(str1)
char_a =input('请输入在上述字符串中的一个字母:')
char_b =input('请输入在上述字符串中的另一个字母:')if str1.index(char_a)< str1.rindex(char_b):print('True')else:print('False')
题目95
# 输入一个多位数字,输出一个一位数字。这个一位数是数字多位数字各位数字之和,若和不是一位数字,那么继续对和的各位数字求和,直到和为一个一位数字为止# 第一眼就想到了递归defsum_num(num:int):print('num in:', num)return num if num <10else sum_num(sum(int(x)for x instr(num)))print(sum_num(987))# 不用递归defsum_num1(num:int):whileTrue:print('num in:', num)if num <10:return numnum =sum(int(x)for x instr(num))print(sum_num1(987))# 再优化一下:break的条件是num < 10, 意思就是循环的条件是num > 9. 减少了一行defsum_num2(num:int):while num >9:print('num in:', num)num =sum(int(x)for x instr(num))return numprint(sum_num2(987))