python练习

您所在的位置:网站首页 python逗号分隔列表 python练习

python练习

2023-09-24 14:20| 来源: 网络整理| 查看: 265

1.编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。得到的数字应按逗号分隔的顺序打印在一行上。

A=[] #定义一个列表A,长度不限 for i in range(2000, 3201): #i从2000到3201范围内,不包含3201,没设置步长,默认为1 if (i%7==0) and (i%5!=0): #如果i对7取余等于0并且对5取余不等于0 A.append(str(i)) #.append() 方法用于在列表末尾添加新的对象 #在A列表末尾添加i print (','.join(A)) #Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。 #.join的语法:str.join(sequence) #输出A列表,并且A列表中的字符中间用,隔开

2.编写一个可以计算给定数的阶乘的程序。结果应该以逗号分隔的顺序打印在一行上。假设向程序提供以下输入:8 则输出为:40320

def fact(x): #定义fact函数用来求阶乘值,x表示阶数 if x == 0: return 1 return x * fact(x - 1) print('请输入一个数字:') x=int(input()) #把输入的字符串转成整数,然后赋值给x print (fact(x))

3.编写一个程序,该程序接受控制台以逗号分隔的数字序列,并生成包含每个数字的列表和元组。假设向程序提供以下输入: 34岁,67年,55岁,33岁,12日,98年 则输出为:[‘34’, ‘67’, ‘55’, ‘33’, ‘12’, ‘98’] (‘34’, ‘67’, ‘55’, ‘33’, ‘12’, ‘98’)

import re print('请输入一组数字:') values=input() #把输入的字符串赋值给values A=values.split(",") # split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串 #把输入的字符串进行切片处理 k=re.findall(r'[0-9]+',values) #.代表一切字符 #通过re.findall返回一共列表,然后把这个列表赋给k t=tuple(k) #函数创建元组对象,赋值给t print (k) #输出列表k print (t) #输出元组t # 1)正则表达式含义 # . # 点可代表一切字符 # \ # 起转义作用 # [...] # 指代方括号中的任意字符 # \d # 指代数字0-9 # \D # 指代非数字 # \s # 指代一切空格,包括tab制表符、空格、换行等 # \S # 指代非空格 # \w # 指代大小写字母、数字和下划线 # \W # 指代非大小写字母、数字和下划线 # * # 匹配前面字符 >=0 次 # + # 匹配前面字符1次及以上 # ? # 匹配前面字符0次或1次 # {m} # 匹配m次 # {m,n} # 匹配m到n次 # {m,} # 至少匹配m次 # 2)结合re模块完成字符串的匹配 # 找 # re.findall(pattern, string, flags=0) # pattern-->正则表达式 # string-->需要处理的字符串 # flags-->说明匹配模式,如是否大小写re.I # 注:findall不同的表现形式: # import re # 第一种 # kk = re.compile(r'\d+') # kk.findall('one1two2three3four4') # #[1,2,3,4] # 第二种 # #注意此处findall()的用法,可传两个参数; # kk = re.compile(r'\d+') # re.findall(kk,"one123") # 第三种 # kk = "one123" # re.findall(r'\d+',kk) # 切 # re.split(pattern, string, maxsplit=0, flags=0) # pattern-->正则表达式 # string-->需要处理的字符串 # maxsplit-->最大匹配次数。0表示匹配所有次 # 替 # sub(pattern, repl, string, count=0, flags=0) # pattern-->正则表达式 # repl-->新的替换内容 # string-->需要处理的字符串 # count-->替换次数。0表示匹配替换所有次 # flags-->匹配模式

问题:定义一个至少有两个方法的类: getString:从控制台输入获取字符串 printString::打印大写母的字符串。 还请包含简单的测试函数来测试类方法。 提示:使用_init__方法构造一些参数

class InputOutString(object): #继承object,object是父类 #class是类 #定义一个InputOutString类 def __init__(self): #init初始化 #self表示类本身 self.s = "" #类成员变量s def getString(self): #定义一个函数getString print('请输入字符串:') self.s = input() #把输入的字符串赋给类的成员变量s def printString(self): #定义一个函数printString print (self.s.upper()) #输出类中的字符串 strObj = InputOutString() #创建一个对象 strObj.getString() strObj.printString() #通过对象访问类的成员方法

使用给定的整数n,编写一个程序生成一个包含(i, i*i)的字典,该字典包含1到n之间的整数(两者都包含)。然后程序应该打印字典。 假设向程序提供以下输入:8 则输出为: {1:1,2:4,3:9,4:16,5:25,6:36,,7:49,8:64} 提示:在为问题提供输入数据的情况下,应该假设它是控制台输入。考虑使用dict类型()

print('请输入一个数字:') n=int(input()) d=dict() #创建一个字典,赋给d for i in range(1,n+1): d[i]=i*i print(d)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3