实验九 元组
一、实验目的
1、培养分析问题并对进行建模的能力。
2、熟练运用元组解决实际问题。
二、实验内容
1、给定键盘上任意一个字母,编写程序输出它左边的字母和右边的字母。(若这个字符左边或右边没有字母输出 *),使用元组。
比如:输入:A 输出:* S
2、小明参加军训,教官让他们 8 个人一组,依次报数(从 1 开始),小明那组报数完毕后,最后一个人报的数为 9 人,你能帮教官找找,是第几个人报错了吗。
比如:输入:12345789 输出:6
3、使用元组编写程序求化学分子式的分子质量,分子式中只包含(H (1), C (12), N (14), O (16), F (19), P (31), S (32), K (39))。
比如:输入:H2SO4 输出:98
三、代码与结果
"""1、给定键盘上任意一个字母,编写程序输出它左边的字母和右边的字母。(若这个字符左边或右边没有字母输出 *),使用元组。
比如:输入:A 输出:* S"""
Alphabet=(('Q','W','E','R','T','Y','U','I','O','P'),('A','S','D','F','G','H','J','K','L'),('Z','X','C','V','B','N','M'))
a=input("请输入一个大写字母:")
for i in range(3):
if a in Alphabet[i]:
id = Alphabet[i].index(a)
if a==Alphabet[i][0]:
print('* {}'.format(Alphabet[i][id+1]))
break
elif a==Alphabet[i][len(Alphabet[i])-1]:
print('{} *'.format(Alphabet[i][id-1]))
break
else:
print('{} {}'.format(Alphabet[i][id-1],Alphabet[i][id+1]))
break
"""2、小明参加军训,教官让他们 8 个人一组,依次报数(从 1 开始),小明那组报数完毕后,最后一个人报的数为 9 人,你能帮教官找找,是第几个人报错了吗。
比如:输入:12345789 输出:6"""
a=(1,2,3,4,5,6,7,8)
b=tuple(input("请报数:"))
for i in range(len(a)):
if a[i]!=int(b[i]):
print(a[i])
break
"""3、使用元组编写程序求化学分子式的分子质量,分子式中只包含(H (1), C (12), N (14), O (16), F (19), P (31), S (32), K (39))。
比如:输入:H2SO4 输出:98"""
# N_M=(('H','C','N','O','F','P','S','K'),(1,12,14,16,19,31,32,39))
# name=tuple(input("请输入化合物:"))
# weghit = 0
# for i in range(0,len(name)):
# if name[i] in N_M[0]:
# # 字串的索引
# id = N_M[0].index(name[i])
# weghit += N_M[1][id]
# else:
# weghit += (int(name[i]) - 1) * N_M[1][id]
# print(weghit)
四、讨论与思考
1.程序流程图
主要涉及字符串索引函数:id = Alphabet[i].index(a)
2.程序流程图:
主要核心对于不同的否定判断函数:if a[i]!=int(b[i]):
- 程序流程图: