Python【每日一问】30
问:
【基础题】:一个足球队在寻找年龄在10岁到12岁的小女孩(包括10岁和12岁)加入。编写一个程序,询问用户的性别(m表示男性,f表示女性)和年龄,然后显示一条消息指出这个人是否可以加入球队,询问10次后,输出满足条件的总人数。
【提高题】:键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为20个字符,减号字符-填充,右对齐,带千分位分隔符。如果输入正整数超过20位,则按照真实长度输出。例如:键盘输入正整数n为1234,屏幕输出 ----------------1234
PS:提高题要求:先实现功能,再实现功能的前提下,以两行代码实现
答:
【基础题】:一个足球队在寻找年龄在10岁到12岁的小女孩(包括10岁和12岁)加入。编写一个程序,询问用户的性别(m表示男性,f表示女性)和年龄,然后显示一条消息指出这个人是否可以加入球队,询问10次后,输出满足条件的总人数。
方法1:
n = 0
for _ in range(10):
age=input("请输入你的年龄:")
gender=input("请输入你的性别:(男性输入m 女性输入f)")
if 10<=eval(age)<=12 and gender=="f":
print("恭喜你被录取!")
n+=1
else:
print("抱歉,你没有被录取。")
print("共有{}人被录取!".format(n))
方法2:
def selectPlayer():
containt = []
for i in range(10):
name = input('输入姓名:')
age = input('输入一下年龄:')
genders = input('输入一下性别m表示男性,f表示女性')
print(type(genders))
if 10 <= age <= 12 :
if genders == 'm':
containt.append(name)
print("his name :",containt,"number:",len(containt))
if __name__ =="__main__":
selectPlayer()
方法3:
def chose(ask_people=10):
number = 0
count = 0
while True:
if number == ask_people: break
gender = input("please input your gender(f:female,m:man)\n")
gender = gender.strip(' ')
if gender not in ['f', 'm']:
print("your gender is illegal\n")
continue
age = input("please input your age:(1,120)\n")
age = int(age.strip(' '))
if age <= 0 or age >= 120:
print("your age is illegal\n")
continue
number += 1
if (gender == 'f') and (10 <= age <= 12):
count += 1
print("Congratulation,you can jion in us\n")
else:
print("Sorry,we need female and that her age is (10,12)\n")
print(f"{count}\n")
if __name__ == '__main__':
chose()
方法4:
def soccer_team():
"""
一个足球队在寻找年龄在10岁到12岁的小女孩(包括10岁和12岁)加入。
编写一个程序,询问用户的性别(m表示男性,f表示女性)和年龄,
然后显示一条消息指出这个人是否可以加入球队,询问10次后,输出满足条件的总人数。
"""
count = 1 # 记录询问次数
sum = 0 # 统计符合总人数
for item in range(1, 11):
print('第%d次询问' % count)
sex = input('请输入性别(m表示男性,f表示女性):')
age = int(input('请输入你的年龄:'))
if sex == 'm' or 10 > age > 12:
print('抱歉,你不符合我们的条件,我们需要10岁到12岁的女孩')
elif sex == 'f' and age > 12 or age < 10:
print('你的年龄不符合我们的要求哦')
elif sex == 'f' and 10 <= age <= 12:
print('恭喜你加入我们的足球队!')
sum += 1
print("\n")
count += 1
print('询问10个人后,目前我们一共有%d人加入' % sum)
soccer_team()
【提高题】:键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为20个字符,减号字符-填充,右对齐,带千分位分隔符。如果输入正整数超过20位,则按照真实长度输出。例如:键盘输入正整数n为1234,屏幕输出 ----------------1234 PS:提高题要求:先实现功能,在实现功能的前提下,再以两行代码实现
方法1:
n = input('Enter:')
print('{:->20n}'.format(n))
方法2:
num = input("请输入一个正整数:")
print("{:->20,}".format(eval(num)))
方法3:
if __name__ == '__main__':
string = input("please input numbers:\n")
print('{:->20}'.format(string))
Python【每日一问】30的更多相关文章
- [python每日一练]--0012:敏感词过滤 type2
题目链接:https://github.com/Show-Me-the-Code/show-me-the-code代码github链接:https://github.com/wjsaya/python ...
- Python每日一练(1):计算文件夹内各个文章中出现次数最多的单词
#coding:utf-8 import os,re path = 'test' files = os.listdir(path) def count_word(words): dic = {} ma ...
- python每日一函数 - divmod数字处理函数
python每日一函数 - divmod数字处理函数 divmod(a,b)函数 中文说明: divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数 返回结果类型为tuple 参数: ...
- 每日一问:Android 消息机制,我有必要再讲一次!
坚持原创日更,短平快的 Android 进阶系列,敬请直接在微信公众号搜索:nanchen,直接关注并设为星标,精彩不容错过. 我 17 年的 面试系列,曾写过一篇名为:Android 面试(五):探 ...
- 每日一问:谈谈 volatile 关键字
这是 wanAndroid 每日一问中的一道题,下面我们来尝试解答一下. 讲讲并发专题 volatile,synchronize,CAS,happens before, lost wake up 为了 ...
- 每日一问:讲讲 Java 虚拟机的垃圾回收
昨天我们用比较精简的文字讲了 Java 虚拟机结构,没看过的可以直接从这里查看: 每日一问:你了解 Java 虚拟机结构么? 今天我们必须来看看 Java 虚拟机的垃圾回收算法是怎样的.不过在开始之前 ...
- 每日一问:你了解 Java 虚拟机结构么?
对于从事 C/C++ 程序员开发的小伙伴来说,在内存管理领域非常头疼,因为他们总是需要对每一个 new 操作去写配对的 delete/free 代码.而对于我们 Android 乃至 Java 程序员 ...
- 每日一问:LayoutParams 你知道多少?
前面的文章中着重讲解了 View 的测量流程.其中我提到了一句非常重要的话:View 的测量匡高是由父控件的 MeasureSpec 和 View 自身的 `LayoutParams 共同决定的.我们 ...
- 每日一问:简述 View 的绘制流程
Android 开发中经常需要用一些自定义 View 去满足产品和设计的脑洞,所以 View 的绘制流程至关重要.网上目前有非常多这方面的资料,但最好的方式还是直接跟着源码进行解读,每日一问系列一直追 ...
- python每日一练:0007题
第 0007 题: 有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列出来. # -*- coding:utf-8 -*- import os def count ...
随机推荐
- ASP.NET CORE 2.2 因外键设置的双向导航对象序列化报 循环错误问题的解决
报错如下: 设置的示例: 解决方案: 在Startup.cs文件中,增加如下代码: services.AddMvc().SetCompatibilityVersion(CompatibilityVer ...
- Python多任务—线程
并发:指的是任务数多余cpu核数,通过操作系统的各种任务调度算法,实现用多个任务“一起”执行(实际上总有一些任务不在执行,因为切换任务的速度相当快,看上去一起执行而已) 并行:指的是任务数小于等于cp ...
- 三款免费好用的Gif录屏神器
三款免费好用的Gif录屏神器 1. 免费开源的GIF录制工具ScreenToGif 官网地址:http://www.screentogif.com/ ScreenToGif,国外免费开源小巧实用的Gi ...
- eclipse安装sts
- mds0: Many clients (191) failing to respond to cache pressure
目录 背景 后续的努力 临时的解决办法 cephfs时我们产品依赖的主要分布式操作系统,但似乎很不给面子,压力测试的时候经常出问题. 背景 集群环境出现的问题: mds0: Many clients ...
- MySQL主从仅同步指定库
有两种方式,1.在主库上指定主库二进制日志记录的库或忽略的库: vim /etc/my.cnf ... binlog-do-db=xxxx 二进制日志记录的数据库 binlog-ignore-db=x ...
- DF1协议常用命令
PCCC:Programmable Controller Communication Commands. AB PLC常用指令 根据http://www.iatips.com/pccc_tips.ht ...
- org.json package
JSON is a light-weight,language independent,data interchange format. org.json package implement JSON ...
- ggplot2学习笔记之图形排列
转载:https://www.jianshu.com/p/d46cf6934a2f R语言基本绘图函数中可以利用par()以及layout()来进行图形排列,但是这两个函数对于ggplot图则不太适用 ...
- centos 7.3 安装 mysqldb 报错 EnvironmentError: mysql_config not found ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
ERROR: Command errored : command: /usr/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] ...