Python【每日一问】30
问:
【基础题】:一个足球队在寻找年龄在10岁到12岁的小女孩(包括10岁和12岁)加入。编写一个程序,询问用户的性别(m表示男性,f表示女性)和年龄,然后显示一条消息指出这个人是否可以加入球队,询问10次后,输出满足条件的总人数。
【提高题】:键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为20个字符,减号字符-填充,右对齐,带千分位分隔符。如果输入正整数超过20位,则按照真实长度输出。例如:键盘输入正整数n为1234,屏幕输出 ----------------1234
PS:提高题要求:先实现功能,再实现功能的前提下,以两行代码实现
答:
方法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))