问:

【基础题】:一个足球队在寻找年龄在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的更多相关文章

  1. [python每日一练]--0012:敏感词过滤 type2

    题目链接:https://github.com/Show-Me-the-Code/show-me-the-code代码github链接:https://github.com/wjsaya/python ...

  2. Python每日一练(1):计算文件夹内各个文章中出现次数最多的单词

    #coding:utf-8 import os,re path = 'test' files = os.listdir(path) def count_word(words): dic = {} ma ...

  3. python每日一函数 - divmod数字处理函数

    python每日一函数 - divmod数字处理函数 divmod(a,b)函数 中文说明: divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数 返回结果类型为tuple 参数: ...

  4. 每日一问:Android 消息机制,我有必要再讲一次!

    坚持原创日更,短平快的 Android 进阶系列,敬请直接在微信公众号搜索:nanchen,直接关注并设为星标,精彩不容错过. 我 17 年的 面试系列,曾写过一篇名为:Android 面试(五):探 ...

  5. 每日一问:谈谈 volatile 关键字

    这是 wanAndroid 每日一问中的一道题,下面我们来尝试解答一下. 讲讲并发专题 volatile,synchronize,CAS,happens before, lost wake up 为了 ...

  6. 每日一问:讲讲 Java 虚拟机的垃圾回收

    昨天我们用比较精简的文字讲了 Java 虚拟机结构,没看过的可以直接从这里查看: 每日一问:你了解 Java 虚拟机结构么? 今天我们必须来看看 Java 虚拟机的垃圾回收算法是怎样的.不过在开始之前 ...

  7. 每日一问:你了解 Java 虚拟机结构么?

    对于从事 C/C++ 程序员开发的小伙伴来说,在内存管理领域非常头疼,因为他们总是需要对每一个 new 操作去写配对的 delete/free 代码.而对于我们 Android 乃至 Java 程序员 ...

  8. 每日一问:LayoutParams 你知道多少?

    前面的文章中着重讲解了 View 的测量流程.其中我提到了一句非常重要的话:View 的测量匡高是由父控件的 MeasureSpec 和 View 自身的 `LayoutParams 共同决定的.我们 ...

  9. 每日一问:简述 View 的绘制流程

    Android 开发中经常需要用一些自定义 View 去满足产品和设计的脑洞,所以 View 的绘制流程至关重要.网上目前有非常多这方面的资料,但最好的方式还是直接跟着源码进行解读,每日一问系列一直追 ...

  10. python每日一练:0007题

    第 0007 题: 有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列出来. # -*- coding:utf-8 -*- import os def count ...

随机推荐

  1. Linux之IO

    速度差异 I/O不仅仅是硬盘,还包括外围的所有设备,比如键盘鼠标,比如1.44M的3.5英寸软盘(还有人记得么).但服务器环境,泛指硬盘. 硬盘有多慢呢?我们不去探究不同设备的实现细节,直接看它的写入 ...

  2. 2019 苏州朗动java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.苏州朗动等公司offer,岗位是Java后端开发,因为发展原因最终选择去了苏州朗动,入职一年时间了,也成为了面 ...

  3. English--音标拼读

    English|音标拼读 音标拼读主要内容是,如何使用音标进行单词的拼读,并且会有相应的语音现象,最关键的还是自己多加练习,多听~ 前言 目前所有的文章思想格式都是:知识+情感. 知识:对于所有的知识 ...

  4. MYSQL中IN,INSTR,FIND_IN_SET函数效率比较(转)

    今天写代码时前台传过来类似‘1,2,3,4,5,6’的字符串,这种情况直接用IN是无效的,需要把字符串分割成数组或者组装成列表,然后再利用mabatis的foreach函数 <select id ...

  5. mysql日期存储格式int,timestarmp,datetime

    int (1).4个字节存储,INT的长度是4个字节,存储空间上比datatime少,int索引存储空间也相对较小,排序和查询效率相对较高一点点 (2)可读性极差,无法直观的看到数据. TIMESTA ...

  6. yuv420 转换成 bmp

    源码如下: // ConsoleApplication1.cpp : Defines the entry point for the console application. #include &qu ...

  7. Python从零开始——安装与运行

  8. 安装docker后,导致qemu的桥接网络出现问题

    按照Qemu-4.1 桥接网络设置中介绍的方法建立起桥接网络后,可以实现虚拟机和host的相互ping,但是在虚拟机里去ping其他跟host处于同一个网段的ip地址时却失败了,然后ifconfig后 ...

  9. BeyondCompare4完美"破解"

    原文:https://blog.csdn.net/weixin_39298366/article/details/84390224 将以下操作保存为bat文件,然后双击运行即可. reg delete ...

  10. Two-Stream Adaptive Graph Convolutional Network for Skeleton-Based Action Recognition

    Two-Stream Adaptive Graph Convolutional Network for Skeleton-Based Action Recognition 摘要 基于骨架的动作识别因为 ...