Python(2)

    xiaoxiao2025-04-05  37

    1.最大公约数与最小公倍数

    num1=int(input('please input a number!!!')) num2=int(input('please input other number!!!')) if(num2>num1): temp=num1 num1=num2 num2=temp if num1%num2==0: print('最大公约数为%d' %(num2)) print('最小公倍数为%d' %(num1)) else: arr=range(1,num2+1) for i in reversed(arr): if(num2%i==0 and num1%i==0): print(i) break print('最大公约数为%d' %(i)) print('最小公倍数为%d' %(num2*num1/i))

    2.while循环

    i = 0 while i<3: name = input('用户名:') passwd = input('密码:') if name == 'root' and passwd == 'westos': print('登陆成功') # 跳出整个循环,不会再执行后面的内容 break else: print('登陆失败') print('您还剩余%d次机会' %(2-i)) i += 1 else: print('登陆次数超过三次,请等待100s后再次登陆')

    while 死循环 # while True: # print('!!!!!!!!!!!!') while 2>1: print('@@@@') row = 1 while row <= 9: col = 1 while col <=row: print('%d * %d = %d\t' %(row,col,row*col),end='') col += 1 print('') row += 1

    3.字符串特性

    s = 'hello' # 索引:0 1 2 3 4(索引是从0开始) print(s[0]) print(s[4]) print(s[-1]) #拿出最后一个字符 # 切片 s[start:stop:step] 从start开始到end -1结束 # 步长为step print(s[0:3]) print(s[0:4:2]) print(s[:]) #显示所有的字符 print(s[:3]) #显示前3个字符 print(s[::-1]) #字符串的翻转 print(s[1:]) #除了第一个字符之外的其他全部字符 #重复 print(s * 10) # 连接 print('hello ' + 'python') # 成员操作符 print('he' in s) print('aa' in s) print('he' not in s) #for循环遍历 for i in s: print(i)

    """ 题目要求: 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左) 读都是一样 的整数。 ## 示例: 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。 因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数 """ # strs=input('please input a string:') # strss=strs[::-1] # if strs==strss: # print('是回文串') # else: # print('不是回文串') strs=input('please input a string:') lens=int(len(strs)) if lens%2==0: str1=strs[0:int(lens/2)] str1=str1[::-1] str2=strs[int(lens/2+1):int(lens+1)] if str1==str2: print('是回文串') else: print('不是回文串') else: str1=strs[0:int((lens-1)/2)] str1=str1[::-1] str2=strs[int((lens-1)/2)+1:lens] if str1==str2: print('是回文串') else: print('不是回文串')

    4.字符串常用方法

    str.istitle() ##查看是否为标题(首字母大写),返回bool值 str.isupper() ##查看是否全为大写,返回bool值 str..islower() ##查看是否全为小写,返回bool值 str.title() ##转化为标题(首字母大写) str.upper() ##转化全为大写 str..lower() ##转化全为小写 str.strip() ##去除左右边的空格,空格为广义的空格 包括:\t \n str.lstrip() ##去除左边的空格,空格为广义的空格 包括:\t \n str.rstrip() ##去除右边的空格,空格为广义的空格 包括:\t \n str.strip('x') ##取出字符串中的x字符i str..isdigit() ##是否全为数字,返回bool值 str.isalpha() ##是否全为字母,返回bool值 str.isalnum() ##是否为字母与数字组合,返回bool值 """ 变量名定义是否合法: 1.变量名可以由字母 数字 下划线组成 2.变量名只能以字母和或者下划线开头 s = '321csv_' s[0] s[1:] s = 'asfasf%%' '_' exit """ while 2>1: name=input('please input a name:') if name=='exit': break if name[0].isalpha() or name[0]=='_': for i in name: if not (i.isalpha() or i.isdigit() or i=='_'): print('error:name only have alpha digit or _') break else: print('name is right!') else: print('error:name first is alpha or _')

    5.字符串的对齐

    print('学生管理系统'.center(30)) print('学生管理系统'.center(30,'*')) print('学生管理系统'.center(30,'&')) print('学生管理系统'.ljust(30,'*')) print('学生管理系统'.rjust(30,'*'))

    6.字符串的搜索与替换

    s = 'hello world hello' # find找到子字符串,并返回最小的索引 print(s.find('hello')) print(s.find('world')) print(s.rfind('hello')) # 找到子字符串,返回最大索引 # 替换字符串中的hello为westos print(s.replace('hello','westos'))

    7.字符串统计

    print('hello'.count('l')) print('hello'.count('ll')) print(len('westosssss'))

    8.字符串分离与连接

    s = '172.25.254.250' s1 = s.split('.') print(s1) print(s1[::-1]) date = '2019-05-24' date1 = date.split('-') print(date1) # 连接 通过指定的连接符,连接每个字符串 print(''.join(date1)) print('/'.join(date1)) print('~~'.join('hello'))

    小米笔试编程题目 - 题目描述: > 给定一个句子(只包含字母和空格), 将句子中的单词位置反转, 单词用空格分割, 单词之间只有一个空格,前>后没有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello” - 输入描述: > 输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符) - 输出描述: > 对于每个测试示例,要求输出句子中单词反转后形成的句子 - 示例1: - - 输入 hello xiao mi - 输出 mi xiao hello strs=input('输入:') strs1=strs.split(' ') strs1=strs1[::-1] print('输出:'+' '.join(strs1))

    1. 设计一个程序,帮助小学生练习10以内的加法 详情: - 随机生成加法题目; - 学生查看题目并输入答案; - 判别学生答题是否正确? - 退出时, 统计学生答题总数,正确数量及正确率(保留两位小数点); import random err=0 right=0 count=0 while 2>1: num1=random.randint(1,11) num2=random.randint(1,11) print('%d + %d:' %(num1,num2)) sums=int(input('请输入答案,0为退出:')) if sums==0: print('答题总数为:%d 正确题数为: %d 正确率为:%.2f %%' %(count,right,right/count*100)) break if sums==num2+num1: right+=1 else: print('回答错误,正确答案为:%d' %(num1+num2)) err+=1 count+=1

    2. 小学生算术能力测试系统: 设计一个程序,用来实现帮助小学生进行百以内的算术练习, 它具有以下功能:提供10道加、减、乘或除四种基本算术运算的题目; 练习者根据显示的题目输入自己的答案, 程序自动判断输入的答案是否正确并显示出相应的信息。 import random i=1 while i<=10: op=['+','-','*','/'] fand=random.choice(op) num1=random.randint(1,101) num2=random.randint(1,101) err=0 right=0 print('%d %s %d' %(num1,fand,num2)) result=float(input('请输入结果')) if fand=='+': if result==num2+num1: i += 1 else: i += 1 print('回答错误,正确答案为:%d' %(num1+num2)) elif fand=='-': if result==num1-num2: i += 1 else: i += 1 print('回答错误,正确答案为:%d' % (num1-num2)) elif fand=='*': if result==num1*num2: i += 1 else: i += 1 print('回答错误,正确答案为:%d' % (num1*num2)) else: if result==num1/num2: i += 1 else: i += 1 print('回答错误,正确答案为:%f' % (num1/num2))

    9.列表创建

    """ 数组:存储同一种数据类型的集合 scores = [12,23,45] 列表(打了激素的数组):可以存储任意数据类型 """ list = [1,1.2,True,'westos'] print(list,type(list)) # 列表里面也可以嵌套列表 list2 = [1,2,3,4,[1,1.2,True,'westos']] print(list2,type(list2))

    10.列表特性

    service = ['http','ftp','ssh'] # 索引 # 正向索引 print(service[0]) # 反向索引 print(service[-1]) # 切片 print(service[::-1]) print(service[1:]) print(service[:-1]) # 重复 print(service * 3) # 连接 service1 = ['mysql','firewalld'] print(service + service1) # 成员操作符 print('firewalld' in service) print('ftp' in service) print('mysql' not in service)

    """ 假定有下面这样的列表: names = ['fentiao', 'fendai', 'fensi', 'apple'] 输出结果为:'I have fentiao, fendai, fensi and apple.' """ names = ['fentiao', 'fendai', 'fensi', 'apple'] print('I have ' + ','.join(names[:-1]) + ' and ' + names[-1])

    题目:输入某年某月某日(yyyy-MM-dd),判断这一天是这一年的第几天? date=input('请以xxxx-xx-xx的格式输入日期:') date1=date.split('-') year=int(date1[0]) month=int(date1[1]) day=int(date1[2]) sums=0 list1=[31,28,31,30,31,30,31,31,30,31,30,31] list2=[31,29,31,30,31,30,31,31,30,31,30,31] if (year%4==0 and year0!=0) or year@0==0: for i in range(month-1): sums+=list2[i] sums+=day print('今日是本年第%d天' %(sums)) else: for i in range(month-1): sums+=list1[i] sums+=day print('今日是本年第%d天' %(sums))

    11.列表元素增删

    service = ['http','ftp','ssh'] # append():追加一个元素到列表 service.append('firewalld') print(service) # extend():拉伸 追加多个元素到列表中 service.extend(['mysql','nfs']) print(service) # insert() 在指定索引处插入元素 service.insert(1,'https') print(service) #pop:删除列表元素,但不能重新接受删除数据 service.pop() # remove:删除列表元素 service = ['http','ftp','ssh'] a = service.remove('ftp') print(a) print(service) # 从内存中删除一个数据 del service[1] print(service)

    12.列表查看与排序

    service = ['ftp','http','http','ssh','ftp','ssh','ftp','ssh'] # 查看元素在列表中出现的次数 print(service.count('ftp')) # 查看指定元素的索引值(可以指定索引范围) print(service.index('ssh')) print(service.index('ssh',4,7)) service = ['http','ftp','ftp','ssh'] # 默认是按照Ascii码进行排序的 service.sort(reverse=True) print(service) phones = ['Tom','alice','bob','Borry'] phones.sort(key=str.upper) print(phones) # 生成随即列表 import random li = list(range(100)) print(li) random.shuffle(li) ##随即将列表排序,打乱顺序 print(li)

    题目:输入三个整数x,y,z,请把这三个数由小到大输出 strs=input('输入数,以空格间隔:') list1=strs.split(' ') print(list1) list2=[] for i in list1: list2.append(int(i)) list2.sort() print(list2)

    最新回复(0)