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)
")
        gender = gender.strip(' ')
        if gender not in ['f', 'm']:
            print("your gender is illegal
")
            continue
        age = input("please input your age:(1,120)
")
        age = int(age.strip(' '))
        if age <= 0 or age >= 120:
            print("your age is illegal
")
            continue
​
        number += 1
        if (gender == 'f') and (10 <= age <= 12):
            count += 1
            print("Congratulation,you can jion in us
")
        else:
            print("Sorry,we need female and that her age is (10,12)
")
    print(f"{count}
")
​
​
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("
")
        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:
")
    print('{:->20}'.format(string))
原文地址:https://www.cnblogs.com/ElegantSmile/p/10911220.html