Day 7 列表和字符串

Day 7 列表和字符串

作业

一、列表

1.不使用列表的index函数,自己写程序查找指定元素
• 要查找的元素从键盘输⼊
• 默认从左向右查找,找到第一个元素就停止

list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 3, 4, 5, 6, 7]
r = eval(input(“请输入要查找的元素:”))
for x, y in enumerate(list1):
if y == r:
print(“元素存在,元素下标为%d” % (x))
exit()
print(“没有这样的元素!”)

2.自定义一个数字列表,求列表中所有偶数元素的和

list1 = [32, 421, 45, 42, 98, 36, 66, 2]
sum = 0
for x, y in enumerate(list1):
if y % 2 == 0:
sum += y
print(sum)

3. B哥去参加青年歌手大奖赛,有10个评委打分,去掉一个最高一个最低,求平均分

方法一:

list = list()
for i in range(1,11):
score = float(input(“请输入评委打分:”))
list.append(score)
print("%s号评委的打分为:%.1f" % (i, score))
print(list)
i += 1
list.sort()
print(list)
list.remove(min(list))
list.remove(max(list))
print(list)
avg = float(sum(list)/len(list))
print(“有效平均成绩为:%.2f” % (avg))

方法二:

list = list()
i = 1
while i <= 10:
score = float(input(“请输入评委打分:”))
list.append(score)
print("%s号评委的打分为:%.1f" % (i, score))
print(list)
i += 1
list.sort()
print(list)
list.remove(min(list))
list.remove(max(list))
print(list)
avg = float(sum(list)/len(list))
print(“有效平均成绩为:%.2f” % (avg))

4.给定一个列表:将列表中指定的某个元素全部删除

list = [2, 4, 64, 242, 242, 432, 543, “a”, “Hello”, 64, 543]
i = 1
while i <= 5:
list.append(“b”)
i += 1
print(list)
num = eval(input(“请输入要删除的数字:”))
for x in list:
if x == num:
list.remove(x)
print(list)

5.输⼊某年某月某日,判断这⼀天是这一年的第几天
- 要考虑闰年
year, month, day = eval(input(“请输入年月日:”))
m = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if year % 4 == 0:
print(“这是闰年%d第%d天” % (year, sum(m[0:month-1])+day))
else:
if month <= 2:
print(“今年是平年,这一天是今年第%d天:” % (sum(m[0:month-1]) + d))
else:
print(“今年是平年,这一天是今年第%d天:” % (sum(m[0:month-1]) + d-1))

二、循环

1.猜数字
从键盘上输⼊一个整数,如果等于你规定的整数,就猜中了,如果⼩于规定的数,提示“⼩了”,否则提示“⼤了”,直到猜中为止

a = 8
while True:
num = eval(input(“请输入任意整数:”))
if num == a:
print(“猜中了”)
exit()
elif num < a:
print(“小了”)
continue
else:
print(“大了”)
continue

2.打印图形 (使⽤用循环)
*




n=4时的三⻆角形

方法一

i = 1
num = eval(input(“请输入一个整数:”))
while i <= num:
print(" “(num-i), "(2i-1), end="------%d个*\n" % (2*i-1))
i += 1

方法二

num = int(input(“请输入一个整数:”))
for i in range(1, num+1):
print(" “(num-i), "(2i-1), end="------%d个*\n" % (2*i-1))
i += 1

3.python1904班有10个同学,请你设计一个程序输⼊每个同学的测验成绩,计算10个同学的总成绩和平均成绩
scoreList = list()

i = 1
while i <= 10:
score = float(input(“请输入成绩:”))
scoreList.append(score)
print(“第%d位同学的成绩为:%.2f” % (i, score))
i += 1

print(scoreList)
ts = float(sum(scoreList))
avg = float(ts/len(scoreList))
print(“该班学生总成绩为:%.2f, 平均成绩为:%.2f” % (ts, avg))

4.四则计算器器,从键盘输⼊两个数和一个运算符(±*/),根据运算符计算表达式的结果。
提示:请考虑除数为0的情况
循环如何应用?如何合理退出程序?

i = 0
while True:
num1 = eval(input(“请输入第一个数:”))
num2 = eval(input(“请输入第二个数:”))
cal = input(“请输入运算符(±/)😊
if cal == “+”:
print(“计算结果是:%.2f” % (num1+num2))
break
if cal == “-”:
print(“计算结果是:%.2f” % (num1-num2))
break
if cal == "
”:
print(“计算结果是:%.2f” % (num1*num2))
break
if cal == “/”:
if num2 != 0:
print(“计算结果是:%.2f” % (num1/num2))
break
else:
print(“除数不能为零!”)
continue

5.求1000以内的素数。

l = list()
num1 = eval(input(“请输入数字1:”))
num2 = eval(input(“请输入数字2:”))
for i in range(num1, num2):
j = 2
while j < i:
if i % j == 0:
break
j += 1
else:
l.append(i)
print(l)

6.输出1000以内的所有水仙花数。

num = list(range(1, 1001))
ac = list()
for i in num:
qian = i // 1000
bai = i % 1000 // 100
shi = i // 10 % 10
ge = i % 100 % 10
if qian ** 3 + bai ** 3 + shi ** 3 + ge ** 3 == i:
ac.append(i)
print(ac)

i = 1
ac = list()
while i <= 1000:
qian = i // 1000
bai = i % 1000 // 100
shi = i // 10 % 10
ge = i % 100 % 10

if qian ** 3 + bai ** 3 + shi ** 3 + ge ** 3 == i:
    ac.append(i)
i += 1

print(ac)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值