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)
3725

被折叠的 条评论
为什么被折叠?



