今天,我给您带来一个看似简单的问题,它并不像看起来的那么简单(至少对我而言)!
想象一下我有以下整数列表:
num = [3,1,1,2]
我想打印与高度相对应的“ $”,即:
&
& &
& & & &
for i in num:
print("#"*i)
打印此:
& & &
&
&
& &
但是我要显示前者!
我尝试过:
for i in range(1, max(num)+1): # loops through the rows
for j in num:
if j == i:
print("#")
else:
print("")
但是过了一会儿,我了解到该条件没有任何意义,因为我正在将行号与高度进行比较!
我尝试了其他方法,但没有一个能正常工作,如果有人可以帮助我,我将不胜感激! 谢谢
答案 0 :(得分:7)
我只是从最大数字开始向后迭代,检查列表中的每个元素是否大于或等于该数字,然后打印所需的字符,否则打印一个空格。
export class LoginPage implements OnInit {
private formlogin : FormGroup;
userId : any
token : any
constructor(private formBuilder: FormBuilder,private servicelogin:LoginService,
public toastController: ToastController,private router : Router)
{
this.formlogin = this.formBuilder.group({
username: ['', Validators.required],
password: [''],
});}
logForm(){
//console.log(this.formlogin.value);
this.servicelogin.login(this.formlogin.value).subscribe(data=>{
let res: any
res = data;
console.log(res);
//this.router.navigateByUrl('/home')
})
}
ngOnInit() {
}
}
答案 1 :(得分:1)
一个好问题!这是我不使用任何程序包的看法
def printH(nList):
m = max(nList)
while m > 0:
for l in nList:
if(l>=m):
print('#',end = ' ')
else:
print(' ',end = ' ')
print('')
m-=1
num = [5,3,1,1,2]
printH(num)
预期输出:
#
#
# #
# # #
# # # # #