zoukankan      html  css  js  c++  java
  • python学习第7天

    学习了python基础知识已经七天了,囊括 了很多知识点,今日老师带着我们理了一遍高级游戏的程序逻辑,把我们这几天学习的东西用上了,接下要真正得成为一名码农了,好好纪念一下
    首先说一下该游戏的功能,大咖如果觉得有更好的代码精简,可以探讨一下

    编写猜年龄游戏,有以下要求:

    1. 可能会有用户会在输入年龄之后不小心输入空格,如18   ,请做处理
    2. 可能会有用户会恶意输入导致程序报错,如逗你玩呀,请做处理
    3. 如果用户3次没有猜对,可以选择继续玩或退出(自定义退出条件)
    4. 如果用户猜对了,可以在以下奖品中选择两件奖品(一次只能选择一件奖品):{0:'布娃娃',1:'变形金刚',2:'奥特曼',3:'<python从入门到放弃>'}
    5. 用户选择奖品后退出程序,用户也可以不选择奖品直接退出程序。
    age = 18  # 答案
    count = 0  # 游戏次数控制
    prize_dict = {
    	0:'布娃娃',
    	1:'变形金刚',
    	2:'奥特曼',
    	3:'<Python从入门到放弃>'
    }
    
    # 核心代码
    while count < 3:
        inp_age = input('请输入你的年龄>>>').strip()  # 与用户交互
    
        # 判断用户是否骚扰
        if not inp_age.isdigit():
            print('傻逼,你的年龄输错了')
            continue
    
        inp_age_int = int(inp_age)
    
        # 核心逻辑,判断年龄
        if inp_age_int == age:
            print('猜对了')
            
            print(prize_dict)  # 打印奖品
            
            # 获取两次奖品
            for i in range(2):
            	prize_choice = input('请输入你想要的奖品,如果不想要,则输入"n"退出!!!').strip()  # 与用户交互获取奖品
       			
       			# 判断是否需要奖品
            	if prize_choice != 'n':
            		print(f'恭喜你获得奖品: {prize_dict[int(prize_choice)]}')
            	else:
            		break
           break
           
        elif inp_age_int < age:
            print('猜小了')
        else:
            print('猜大了')
        
        count += 1  # 成功玩一次游戏
        
        if count != 3:
        	continue
        	
        again_choice = input('是否继续游戏,继续请输入"Y",否则任意键直接退出.').strip() # 交互是否再一次
    
    	# 判断是否继续
        if again_choice == 'Y':
        	count = 0
    
    

  • 相关阅读:
    SGU 275. To xor or not to xor
    4364: [IOI2014]wall砖墙
    3211: 花神游历各国
    5248: [2018多省省队联测]一双木棋
    3106: [cqoi2013]棋盘游戏
    POJ 1568 Find the Winning Move
    P3527 [POI2011]MET-Meteors
    P2617 Dynamic Rankings
    3262: 陌上花开
    1176: [Balkan2007]Mokia
  • 原文地址:https://www.cnblogs.com/geyatou322/p/10920013.html
Copyright © 2011-2022 走看看