统计学生选票问题(python)实现

'''
某校决定由全校学生选举自己的学生会主席。由5个候选人,编号分别为1,2,3,4,5,选举其中的一人为学生会主席,每个学生一张选票,只能填写一人。编程完成统计工作。
'''

'''
算法设计:
    (1)、虽然选票发放的数量一般是已知的,但收回的数量通常是无法预知的,所以,算法应该采用随机循环,设置停止标志位“-1”
    (2)、统计过程一般为:先为5个获选人各自设置5个计数器,然后根据录入数据,通过多分支语句或者嵌套条件语句决定为某个计数器加1,这样效率很低。把5个计数器用一个具有5个元素的数组代替,选票中候选人的编号xp正好作为下标,这样执行A(xp)=A(xp)+1就可以方便地将选票结果累加到相应的计数器上,也就用数组存储统计结果,而下标正好是输入的原始信息。
    (3)、考虑算法稳健性,排除1--5之外的数据进行统计
'''

def main():
    a = [0]*6
    xp = int(input("请输入候选人的编号1--5,输入-1结束统计:")
  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,以下是一个简单的模拟电影院自动售票机选票页面的 Python 代码示例: ```python # 电影院座位信息 seats = { "1": ["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"], "2": ["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"], "3": ["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"], "4": ["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"], "5": ["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"] } # 显示座位信息 def show_seats(): for row, seats in seats.items(): print(row, end=" ") for seat in seats: print(seat, end=" ") print() # 选择座位 def select_seat(): row = input("请输入行号:") seat = input("请输入座位号:") if seats.get(row) is None or int(seat) > len(seats[row]): print("输入有误,请重新输入!") elif seats[row][int(seat)-1] == "X": print("此座位已经被选,请重新选择!") else: seats[row][int(seat)-1] = "X" print("选座成功!") # 主程序 while True: print("欢迎使用电影院自动售票机!") print("=================================") print("请选择您要进行的操作:") print("1. 查看座位信息") print("2. 选择座位") print("3. 退出系统") choice = input("请选择:") if choice == "1": show_seats() elif choice == "2": select_seat() elif choice == "3": print("感谢使用电影院自动售票机,下次再见!") break else: print("输入有误,请重新输入!") ``` 代码解释: 在代码中,我们使用一个名为 `seats` 的字典来存储电影院座位信息,其中键为行号,值为一个列表,表示该行的座位情况。座位状态用 "O" 表示未选座位,用 "X" 表示已选座位。 在 `show_seats()` 函数中,我们遍历 `seats` 字典,依次输出每一行的座位状态。 在 `select_seat()` 函数中,我们让用户输入行号和座位号,根据输入的信息来判断用户选择的座位是否可用。如果座位已经被选,则提示用户重新选择;否则将座位状态改为 "X"。 在主程序中,我们使用一个无限循环来不断显示菜单,根据用户的选择来调用相应的函数。当用户选择退出系统时,使用 `break` 语句跳出循环。 注意:以上代码只是一个简单的示例,实际情况下可能需要更复杂的逻辑来处理座位的选购、支付等功能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值