1、实验目的
1)熟练应用Python运算符和内置函数;
2)了解lambda表达式作为函数参数的用法;
3)了解列表的基本用法。
2、实验环境
Python3.8
3、实验内容
1)编写程序,输入一个包含若干整数的列表,输出列表中所有元素的连乘结果。
x=eval(input("请输入一个整数列表:"))
def muli(x):#构造连乘函数
m=1
for i in x:
m*=i
return m
print(muli(x))
eval是Python的一个内置函数,功能十分强大,这个函数的作用是,返回传入字符串的表达式的结果。就是说:将字符串当成有效的表达式 来求值 并 返回计算结果。
eval函数就是实现list、dict、tuple与str之间的转化,同样str函数把list,dict,tuple转为为字符串
详见转载Python eval()函数
2)设一个数组arrayA=[1,2,3,4,5,6,7,8,9],要求取其中第4个到第7个元素,并组成新的数组arrayB,同时按数值高到低输出该数组元素。
一:
arrayA=[1,2,3,4,5,6,7,8,9]
arrayB=[]
for i in (range(3,7,1)):
arrayB.append(arrayA[i])
print(arrayB[::-1])#切片操作逆序输出
二:
arrayA=[1,2,3,4,5,6,7,8,9]
arrayB=[]
for i in (range(3,7,1)):
arrayB.append(arrayA[i])
arrayB.sort(reverse=True)#使用函数原地修改arrayB,降序(该函数没有返回值)
print(arrayB)
python中的append()方法用于在列表末尾添加新的对象。
append()方法语法:list.append(obj)
参数:
obj —— 添加到列表末尾的对象。
返回值:该方法无返回值,但是会修改原来的列表。
3)输入一行字符,统计其中英文字母、空格、数字以及其它字符的个数。(import string)
import string
x=input("请输入一行字符:")
letters=0
space=0
digit=0
others=0
for i in x:
if i.isalpha():
letters+=1
elif i.isspace():
space+=1
elif i.isdigit():
digit+=1
else:
others+=1
print("该行字符串有%d个英文字母,%d个空格,%d个数字,%d个其他字符"%(letters,space,digit,others))
isalpha()、isspace()、isdigit()均为Python内置函数,大家可自行百度搜索其用法。
4)猜数游戏:
随机生成一个1~100之间的整数,用户可以有六次机会从键盘输入猜数,若猜不对,
对应提示“不好意思,你的数大了些!”或者“不好意思,你的数小了一些!”,猜对
了则输出“恭喜答对!”,若六次都没猜中,则输出“你失败了,再见!”。
import random
x=random.randint(1,100)#在1~100之间随机生成一个整数
count=1
while(count<=6):
n=int(input("请输入一个1~100之间的猜数:\n"))
if(n==x):
print("恭喜答对!")
break
elif(n<x):
print("不好意思,你的数小了些!")
else:
print("不好意思,你的数大了些!")
count+=1
if(count>=6):
print("你失败了,再见!")
random.randint(a, b)
用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b
Python lambda表达式(匿名函数)及用法